dav*_*ave 11 html javascript jquery
<ul id="myid">
<li>microsoft</li>
<li>microsoft</li>
<li>apple</li>
<li>apple</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我想li通过使用jquery 删除重复项.
我怎样才能做到这一点?
例子 我发现脚本更快
var liText = '', liList = $('#myid li'), listForRemove = [];
$(liList).each(function () {
var text = $(this).text();
if (liText.indexOf('|'+ text + '|') == -1)
liText += '|'+ text + '|';
else
listForRemove.push($(this));
})?;
$(listForRemove).each(function () { $(this).remove(); });
Run Code Online (Sandbox Code Playgroud)
uniqueLi = {};
$("#myid li").each(function () {
var thisVal = $(this).text();
if ( !(thisVal in uniqueLi) ) {
uniqueLi[thisVal] = "";
} else {
$(this).remove();
}
})
Run Code Online (Sandbox Code Playgroud)
这构建了唯一值的索引(对象).对于您的示例,之后uniqueLi将如下所示:
{
"microsoft": "",
"apple": ""
}
Run Code Online (Sandbox Code Playgroud)
因此,只要遇到之前已添加到索引的值,<li>就会删除关联.
你可以用
var inner = [];
$('li').each( function(index, Element){
if (jQuery.inArray(this.innerHTML, inner) == -1){
inner.push(this.innerHTML);
}
else {
$(this).remove();
}
});
Run Code Online (Sandbox Code Playgroud)