删除<li>标记后确定空<ul>标记

时间:2017-06-23 08:08:07

标签: jquery tags html-lists remove-if

我想确定删除<ul>标记后<li>标记为空的时间。有人能帮助我吗?

有一个HTML代码:

&#13;
&#13;
$(document).on('click', '.close', function(e) {
  $(this).parent().fadeOut("normal", function() {
    $target.remove();
  });
  if ($(this).closest(".indexy").not(".info")) {
    alert("prazdne");
  }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="indexy">
  <li class="info">ASD<button type="button" class="close">&times;</button></li>
  <li class="info">FGH<button type="button" class="close">&times;</button></li>
  <li class="info">JKL<button type="button" class="close">&times;</button></li>
</ul>
&#13;
&#13;
&#13;

5 个答案:

答案 0 :(得分:2)

$(document).on('click', '.close', function(e) {
  $(this).closest("li").remove();
  if (!$(".indexy").find('li').length) {
    alert("UL is empty")
  }
});

Fiddle Demo

答案 1 :(得分:1)

使用想要检查的选择器时使用length属性。

if($('ul.indexy li').length < 1){
    console.log('empty');
}

答案 2 :(得分:1)

我认为您无法使用$(this),因为您已将其从DOM中移除。它不再是DOM

&#13;
&#13;
$(document).on('click', '.close', function(e) {

       $(this).parent('li').remove();
                   
       if($('.indexy li').length<1){
                
           console.log('ul empty ');
        }else{
        
           console.log('li length is :'+$('.indexy li').length);
        }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="indexy">
            <li class="info">ASD<button type="button" class="close">&times;</button></li>
            <li class="info">FGH<button type="button" class="close">&times;</button></li>
            <li class="info">JKL<button type="button" class="close">&times;</button></li>
        </ul>
&#13;
&#13;
&#13;

答案 3 :(得分:1)

你可以为你的js代码做这样的事情:

function removeListItem(item) {  
  $('#'+item).fadeOut("normal", function(){
    $(this).remove();
    var li = $('li.info');
    alert(li.length);
    if (li.length <= 0){
        alert("prazdne");
    }        
  })
}

我也改变了你的HTML。这是一个例如:

<li id="element1" class="info">ASD<button type="button" class="close" onclick="removeListItem('element1')">&times;</button></li>

您没有做的一件事实际上是从DOM中删除列表项。

答案 4 :(得分:0)

你可以用js做到这一点     c = C.new c.cat #=> "meow-meow" c.dog #=> "woof" c.froggie #=> "ribbit" 如果它有childNodes或children,它将返回&#34; true&#34;变量确认,如果不是,它将返回&#34; false&#34;。如果该列表是具有该类名的唯一元素,则该列表的索引为零。否则你将不得不迭代