添加列表项字母分隔符

时间:2014-07-30 20:11:27

标签: 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>

<div>A:</div>
<li><a href="#">Abram</a></li>
<li><a href="#">Amanda</a></li>
<div>B:</div>
<li><a href="#">Bernard</a></li>
<div>F:</div>
<li><a href="#">Fox</a></li>

任何想法?

1 个答案:

答案 0 :(得分:2)

由于你正在使用jquery,你可以这样做:

var currentLetter, prevLetter = null;
$("li").each(function() {
    currentLetter = $(this).find("a").text()[0];
    if (currentLetter != prevLetter) 
    {
        $("<div>").text(currentLetter).insertBefore($(this));
    }
    prevLetter = currentLetter;
});

http://jsfiddle.net/Uw9L4/

虽然从技术上来说,你不应该在div内置ul(即使它完全渲染得很好)。我会插入li而没有锚来维护语义。