现在我正在尝试删除包含某个类classname
的所有li
项
if ( $('li .classname').length > 0 ){
alert('Yeah im here');
$(this).remove();
}
我收到了警报,似乎在验证我是否正确检查了它。不过,我该从哪里着手,让它自己删除呢?如果有更好的方法,请告诉我。
HTML。。。
<li>
<div class="classname">
Hi
</div>
</li>
您可以使用:has((选择器
$('li:has(.classname)').remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>
<div>No classname</div>
</li>
<li>
<div class="classname">Has classname</div>
</li>
<li>
<div>No classname</div>
</li>
<li>
<div class="classname">Has classname</div>
</li>
</ul>
您可以尝试使用每个方法,在这个方法中,您可以使用this
作为选择器来指向.classname
元素。
然后,使用parent方法获得用于删除的li
标签
$('li .classname').each(function () {
alert('Yeah im here');
// point to <li> item that contains this element
var li = $(this).parent();
// remove parent
li.remove();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li>
<div>Hi</div>
</li>
<li>
<div class="classname">Hi</div>
</li>
<li>
<div>Hi</div>
</li>
</ul>