我有一个问题。我需要创建一个javascript来按字母顺序排序无序列表。我通过以下功能实现了这一目标:
$(function () {
var $list = $(document.getElementsByClassName("list"));
$list.children().detach().sort(function (a, b) {
return $(a).text().localeCompare($(b).text());
}).appendTo($list);
});
但是,在客户的设计中,这些列表中有一些项目是其他项目" child",具有以下设置:
<ul>
<li>alpha</li>
<li>gama</li>
<li>beta</li>
<li style="margin-right: 5px;">beta1</li>
</ul>
在代码中,所有项目都在同一个列表中,但对于用户来说,&#34; beta1&#34;有点偏右,与其他款式相结合,让它看起来像是一件儿童用品。
根据我的上述功能,它会对所有项目进行排序。换句话说,&#34; beta1&#34;将与&#34;父母&#34;。
一起分类我尝试了一些没有成功的事情,所以有人知道我怎么能做到这一点?即我的函数需要检查列表项是否已应用样式,如果是,则将其附加到上一个列表项并将其作为一个订单。
谢谢!
答案 0 :(得分:1)
如何更改列表结构以包含子列表,然后为子列表添加样式。
<ul>
<li>alpha</li>
<li>gama</li>
<li>beta
<ul>
<li>beta1</li>
</ul>
</li>
</ul>
CSS:
li ul {
margin-right: 5px;
}