使用jQuery检查父元素是否包含某个子元素

时间:2012-03-23 03:34:50

标签: jquery html

<div id="example">
  <div id="test"></div>
</div>

<div id="another">Blah</div>

我想设置$('#another').hide()但仅当#example包含名为#test的子元素时,这可能吗?看起来好像是。

5 个答案:

答案 0 :(得分:63)

使用length

if ($('#example').find('#test').length) {
    // found!
}

答案 1 :(得分:7)

我认为你要找的是以下

if (jQuery.contains($('#example'), $('#test')) {
    $('#another').hide();
}

这可能也有效,但不能确定我的头脑。

if ($('#test', $('#example')).size() > 0) {
    $('#another').hide();
}

答案 2 :(得分:4)

<script>
    var test = $('#example #test').length();
    if(test !== 0){
        $('#another').hide();
    }
</script>

答案 3 :(得分:3)

jQuery手册建议使用:

if ($('#parent').has('#child').length) {
    //do something
}

http://api.jquery.com/has/

答案 4 :(得分:1)

非常简单。

$(document).ready(function(){
    if($('#example').children('#test').length > 0)
    {
        $('#another').hide();
    }
});​

http://jsfiddle.net/8rrTp/