您好我有一个列表,我想按姓氏过滤。我有a
个带有字母a-z的标签。目标是当用户单击一个字母时,列表将按姓氏过滤。因此,当用户单击“A”时,所有姓氏以“A”开头的列表项都会显示。
我相信我有逻辑显示/隐藏元素,但我需要帮助定位最后一个单词的第一个字母才能实现我的逻辑。
以下是HTML标记:
<ul id="theList">
<li><a>John Aoe</a></li>
<li><a>John Boe</a></li>
<li><a>John Coe</a></li>
<li><a>John Doe</a></li>
</ul>
有什么想法吗?
谢谢!
答案 0 :(得分:3)
你可以使用正则表达式,根据this answer:
reg = new RegExp(letterchosen+'\w+$');
var listwitAlastword = $('li').filter(function () {
return this.innerHTML.match(reg);
});
答案 1 :(得分:2)
你可以迭代“li”:
$("#theList").find("li").each(function(){
var a = $(this).find("a").text().split(" ");
console.log(a[a.length-1].charAt(0))
});
答案 2 :(得分:1)
我刚刚使用了警报,但只要两个名字只有两个名字,代码就会得到最后一个字母的最后一个字母。
如果lastindexOf
行具有中间首字母,则var a = "John Aoe".split(" ").pop().charAt(0);
var b = "John Coe".split(" ").pop().charAt(0);
var c ="John Doe".split(" ").pop().charAt(0);
var d ="Max R. Toady"
var e= d.charAt(d.lastIndexOf(" ") + 1)
alert(a +", " + b +", "+ c + ", " + e)
行将起作用。
ActiveRecord::Batches