This question already has answers here:
jQuery - rule for “does not contain element”
                                
                                    (2个答案)
                                
                        
                5年前关闭。
            
        

<div id="I">
    <h3></h3>
    <div class="C">
        <ul>...</ul>
    </div>
</div>


使用JQuery或JavaScript,如果元素id="I"不存在,如何隐藏整个<ul>元素?

最佳答案

您可以使用以下Jquery来确定div内是否存在id为“ I”的ul元素

$(document).ready(function(){
var size = $("#I ul").length;

if (size === 0)
    $("#I").hide();
});


JsFiddle

编辑:

我已经更新了脚本,因为如果您有多个ID为“ I”的div标签,它将无法正常工作。根据您的描述,您希望删除ID为“ I”且不包含ul元素的所有div标签。这是满足您的问题要求的更新的JsFiddle:enter link description here

这是执行此操作的代码:

$(document).ready(function(){
    $("div").each(function(index, element){
        var id = $(this).attr("id");

        var numOfUl = $(this).find("ul").length;

        if (id == "I" && numOfUl === 0){
            $(this).hide();
        }
    });
});

关于javascript - 如果子项没有元素“<ul>”,则隐藏父项“<div>”。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25294743/

10-09 07:49
查看更多