Javascript 添加列表项字母分隔符
我有我Javascript 添加列表项字母分隔符,javascript,jquery,Javascript,Jquery,我有我'asc'的名字列表,我想添加一个字母,看起来像这样: <li><a href="#">Abram</a></li> <li><a href="#">Amanda</a></li> <li><a href="#">Bernard</a></li> <li><a href="#">Fox</a></li>
'asc'
的名字列表,我想添加一个字母,看起来像这样:
<li><a href="#">Abram</a></li>
<li><a href="#">Amanda</a></li>
<li><a href="#">Bernard</a></li>
<li><a href="#">Fox</a></li>
var currentLetter, prevLetter = null;
$("li").each(function() {
currentLetter = $(this).find("a").text()[0];
if (currentLetter != prevLetter)
{
$("<div>").text(currentLetter).insertBefore($(this));
}
prevLetter = currentLetter;
});
到
A:
B:
F:
有什么想法吗?因为您使用的是jquery,所以可以这样做:
<li><a href="#">Abram</a></li>
<li><a href="#">Amanda</a></li>
<li><a href="#">Bernard</a></li>
<li><a href="#">Fox</a></li>
var currentLetter, prevLetter = null;
$("li").each(function() {
currentLetter = $(this).find("a").text()[0];
if (currentLetter != prevLetter)
{
$("<div>").text(currentLetter).insertBefore($(this));
}
prevLetter = currentLetter;
});
var currentLetter,prevLetter=null;
$(“li”)。每个(函数(){
currentLetter=$(this.find(“a”).text()[0];
if(currentLetter!=prevLetter)
{
$(“”).text(currentLetter).insertBefore($(this));
}
prevLetter=currentLetter;
});
虽然从技术上讲,你不应该把
div
放在ul
里面(即使它完全可以渲染)。我会在没有锚的情况下插入li
来维护语义。是的,我有一些。但是你尝试过什么呢?假设这是用
包装的,那是你想要的无效HTML-只有是
的有效子代。或者在每个li中插入ul,比如:a:- 艾布拉姆
- 阿曼达