jQuery选择器:选择元素,不包含特定元素

jQuery Selector : Selecting element, without a particular element

本文关键字:元素 包含特 jQuery 选择 选择器      更新时间:2023-09-26

我最近开始使用jquery,并坚持元素选择。

HTML代码如下:

 <ul id="wantsAndNeedsPanelBar">
        <li><img src="../resources/css/images/2_imp.png"> #= data[i].subCategories[j].elements[k].text#</li>
        <li><img src="../resources/css/images/1_imp.png"> #= data[i].subCategories[j].elements[k].text#</li>
        <li>#= data[i].subCategories[j].elements[k].text#</li>

在选中/取消选中复选框时,我想隐藏所有没有img的列表元素。我尝试了下面的代码,但没有成功。

 if (e.checked){
       $("#wantsAndNeedsPanelBar li").show();
       $("#wantsAndNeedsPanelBar img").show();
   }else {
       $("#wantsAndNeedsPanelBar li").hide();
    }

感谢您的时间和帮助。

这是隐藏所有列表元素的方法,不需要使用img

$("#wantsAndNeedsPanelBar li:not(:has(img))").hide();

这里我们使用了:not()选择器,:has()选择器,请查看文档了解更多信息