Javascript 检查子元素,如果子元素存在,则隐藏父元素

Javascript 检查子元素,如果子元素存在,则隐藏父元素,javascript,jquery,css,Javascript,Jquery,Css,我试过这个: <script> $(document).ready(function() { $('#title_article:not(:has(>hr:first-child))').hide(); }); </script> 编辑: Use.sides您可以使用jQuery提供的函数。 请在此上下文中尝试: 或者这个: 你也可以使用这个函数 请在此上下文中尝试: 这将隐藏所有包含hr的标题文章。您正在寻找的 获取匹配元素集中每个元素紧跟其后的同级。如果提

我试过这个:

<script>
$(document).ready(function() {
  $('#title_article:not(:has(>hr:first-child))').hide();
});
</script>
编辑: Use.sides

您可以使用jQuery提供的函数。 请在此上下文中尝试: 或者这个: 你也可以使用这个函数 请在此上下文中尝试: 这将隐藏所有包含hr的标题文章。

您正在寻找的

获取匹配元素集中每个元素紧跟其后的同级。如果提供了选择器,则仅当它与该选择器匹配时,才会检索下一个同级

您必须执行以下操作:

if ($('#title_article').next('hr').length)
    $('#title_article').hide();

在您的示例中,不是title_文章的子元素,而是兄弟元素。

否。。如果子元素是自动关闭标记,我想隐藏父元素,无效的标记在设置标准和定义问题陈述时是否对每个人都有利,并更好地组织问题?这在上下文中意味着什么?谢谢,但下面的标题将是文章,不在div元素id标题中_article@CaptainRon然后使用兄弟姐妹、.siblingsThanks;但它将永远隐藏;请参阅更新的JSFIDLE。其思想是,如果不在下面,它将显示。根据您的HTML结构,您可能还希望仅在下一个兄弟时匹配。在这种情况下,可以使用.nexthr。正如戴莫回答的那样
<!-- page content -->

    <div id="title_article></div>
    <hr>

<!-- page content -->
$(document).ready(function() { 

 if($("#title_article").next("hr").length==0)

    $("#title_article").hide()

});
if($('#title_article').children('hr').length > 0) {
    $('#title_article').hide();
 }
if($('#title_article').children('hr').length != 0) {
    $('#title_article').hide();
 }
$('#title_article hr').parent().hide();
if ($('#title_article').next('hr').length)
    $('#title_article').hide();