使用jQuery选择字符串中最后一个单词的第一个字母
你好,我有一个列表,我想按姓氏筛选。我有字母a-z的使用jQuery选择字符串中最后一个单词的第一个字母,jquery,html,Jquery,Html,你好,我有一个列表,我想按姓氏筛选。我有字母a-z的a标签。目标是当用户单击一个字母时,列表将按姓氏过滤。因此,当用户单击“a”时,将显示姓氏以“a”开头的所有列表项 我相信我有足够的逻辑来显示/隐藏元素,但我需要帮助确定最后一个单词的第一个字母,以便实现我的逻辑 以下是HTML标记: <ul id="theList"> <li><a>John Aoe</a></li> <li><a>John B
a
标签。目标是当用户单击一个字母时,列表将按姓氏过滤。因此,当用户单击“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>
- 约翰·奥伊
- 约翰·鲍伊
- 约翰·科
- 无名氏
有什么想法吗
谢谢 我刚刚使用了一个警报,但是只要只有两个名字,代码就会得到最后一个单词的最后一个字母。 如果它们有中间的首字母,则
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=“最大R.Toady”
变量e=d.charAt(d.lastIndexOf(“”+1)
警报(a+”、“+b+”、“+c+”、“+e)
您可以根据以下要求使用正则表达式:
你可以用“李”来形容:
reg = new RegExp(letterchosen+'\w+$');
var listwitAlastword = $('li').filter(function () {
return this.innerHTML.match(reg);
});
$("#theList").find("li").each(function(){
var a = $(this).find("a").text().split(" ");
console.log(a[a.length-1].charAt(0))
});