在 Jquery 中创建词汇表字母表
Create a glossary alphabet in Jquery
我正在制作一个词汇表,其中字母表中的字母在一个列表中,内容在另一个列表中。单击每个字母将显示该字母的内容,如下所示:
<ul class="alphabet">
<li class="selected"><a class="alpha alpha-a">A</a></li>
<li><a class="alpha alpha-b">B</a></li>
<li><a class="alpha alpha-c">C</a></li>
<li><a class="alpha alpha-d">D</a></li>
<li><a class="alpha alpha-e">E</a></li>
<li><a class="alpha alpha-f">F</a></li>
<li><a class="alpha alpha-g">G</a></li>
<li><a class="alpha alpha-h">H</a></li>
<li><a class="alpha alpha-i">I</a></li>
<li><a class="alpha alpha-j">J</a></li>
<li><a class="alpha alpha-k">K</a></li>
<li><a class="alpha alpha-l">L</a></li>
<li><a class="alpha alpha-m">M</a></li>
<li><a class="alpha alpha-n">N</a></li>
<li><a class="alpha alpha-o">O</a></li>
<li><a class="alpha alpha-p">P</a></li>
<li><a class="alpha alpha-q">Q</a></li>
<li><a class="alpha alpha-r">R</a></li>
<li><a class="alpha alpha-s">S</a></li>
<li><a class="alpha alpha-t">T</a></li>
<li><a class="alpha alpha-u">U</a></li>
<li><a class="alpha alpha-v">V</a></li>
<li><a class="alpha alpha-w">W</a></li>
<li><a class="alpha alpha-x">X</a></li>
<li><a class="alpha alpha-y">Y</a></li>
<li><a class="alpha alpha-z">Z</a></li>
</ul>
<ul class="list-objects list-object-a selected">
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
</ul>
<ul class="list-objects list-object-b">
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
</ul>
etc.
<script>
$(".alphabet .alpha-a").click(function() {
$(this).parent("li").addClass("selected").siblings("li").removeClass("selected");
$("ul.list-object-a").addClass("selected").siblings("ul.list-objects").removeClass("selected");
});
$(".alphabet .alpha-b").click(function() {
$(this).parent("li").addClass("selected").siblings("li").removeClass("selected");
$("ul.list-object-b").addClass("selected").siblings("ul.list-objects").removeClass("selected");
});
etc.
</script>
我想简化javascript,这样我就不必为每个字母重复片段。有什么想法吗?@Muhammad 乌默尔?谢谢:)
试试这个。单击锚标记时,添加和删除父级slected Class
。然后,对锚标记的文本进行修饰,并追加到存在相应定位标记内容的 <ul>
标记类。我的意思是说,如果您单击"B",它应该选择.list-object-b
而不是.list-object-a
.代码$("ul.list-object-" + $(this).text().toLowerCase())
做同样的事情
$(document).ready(function () {
$('[class^="alpha alpha-"]').click(function () {
$(this).parent("li").addClass("selected").siblings("li").removeClass("selected");
$("ul.list-object-" + $(this).text().toLowerCase()).addClass("selected").siblings("ul.list-objects").removeClass("selected");
});
});
试试这个:
使用href
作为要显示的列表的引用。
例如,单击"<a class="alpha" href="#object-a">A</a>
将显示具有id="object-a"
的列表
检查以下代码并尝试运行它。
$(".alphabet li").click(function() {
$($(this).find('a').data('href')).addClass('selected').siblings('.list-objects.selected').removeClass('selected');
$(this).addClass('selected').siblings('.selected').removeClass('selected');
});
.alphabet li {
cursor: pointer;
}
.alphabet .selected {
text-decoration: underline;
}
.list-objects {
display: none;
}
.list-objects.selected {
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="alphabet">
<li class="selected">
<a class="alpha" data-href="#object-a">A</a>
</li>
<li>
<a class="alpha" data-href="#object-b">B</a>
</li>
</ul>
<ul id="object-a" class="list-objects selected">
<li>
<a href="">Item A1</a>
</li>
<li>
<a href="">Item A2</a>
</li>
<li>
<a href="">Item A3</a>
</li>
</ul>
<ul id="object-b" class="list-objects">
<li>
<a href="">Item B1</a>
</li>
<li>
<a href="">Item B2</a>
</li>
<li>
<a href="">Item B3</a>
</li>
</ul>
您可以使用通配符:
$(class^=".alpha .alpha-").click(function() {
$(this).parent("li").addClass("selected").siblings("li").removeClass("selected");
$("ul.list-object-a").addClass("selected").siblings("ul.list-objects").removeClass("selected");
});
相关文章:
- 如何在javascript中通过rtl字母表对列表进行排序和分组
- 对于循环-在循环内部循环,用于获取带有ascii值的字母表
- 只允许数字出现在字母表后面
- 在JavaScript中增加字母表
- JQuery文本区域字母表
- 如何使正则表达式接受ONLY字母表和空格
- 字母表中的选择
- 仅当后面跟着字母表时才允许使用空格字符的验证
- 如何使用regex从字母表字符串中删除特定的字母
- 显示给定输入数字的数据集中字母表的所有可能组合
- 存储字母表中每个字母在所需位置的字符串中出现的次数
- 基于字母表的选择元素的动态选项组
- 将字母表中的所有字母实例替换为另一个
- 在 Jquery 中创建词汇表字母表
- 在CSS和/或Javascript中给定文本中俄语字母表的每个字符都有不同的颜色
- 我正在尝试遍历所有字母表的数组并将所有其他字母大写.任何解决方案
- 为字母表中的所有字母创建链接
- JavaScript 循环字母表与搜索词
- 选择单选按钮时更改字母表
- 如何使用 threeJ 在 2D 中渲染字母表