[英]How to remove empty li in ul list using jquery?
我有以下HTML結構:
<ul>
<li><a>one</a></li>
<li><a>two</a></li>
<li></li>
<li><a>three</a></li>
<li><a>four</a></li>
<li></li>
<li><a>five</a></li>
</ul>
我需要刪除沒有任何內容的li
元素( <li></li>
)。
我怎么能在jQuery中做到這一點?
$('li').each(function(){
if($(this).html() == "" || typeof($(this).html())=="undefined")
{
$(this).remove
}
})
我建議你在比較之前修剪html,這樣你就不會計算:
<li>
</li>
作為非空項目。 要修剪html,只需在.html()
之后添加.trim()
.html()
即:
if($(this).html().trim() == "" || typeof($(this).html().trim())=="undefined")
未經測試,請告訴我它是否適合您。
$('li').each(function() {
var li = $(this);
if (li.html() == '') {
li.remove();
}
});
$('li').each(
function(){
if($(this).html().trim()==''){$(this).remove();}
}
);
您可以使用filter
方法運行自定義函數來查找要刪除的元素:
$('ul li').filter(function(){ return $(this).text() == '' }).remove();
請嘗試以下方法:
$('li').filter(function() { return !$(this).html(); }).remove();
$('ul li:empty').remove();
//OR
$('ul li').filter(function() {return $(this).text() == '';}).remove();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.