如果子div不包含<a>标记,如何隐藏父div?

gre*_*rer 0 jquery

如果子div(即.post-title)不包含<a>标记,我试图隐藏父div(即#post).有关如何使用我修改过的代码正确完成此操作的任何见解?

<div id="latest">
    <div id="post">
        <div class="post-image post-image-1"></div>
        <div id="post-content">
            <div class="post-title post-title-1"></div>
            <div id="post-date"></div>
        </div>
    </div>
<div id="post">
        <div class="post-image post-image-2"></div>
        <div id="post-content">
            <div class="post-title post-title-2"></div>
            <div id="post-date"></div>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)
$('.post-title').not($('a').hide($("#post"));
Run Code Online (Sandbox Code Playgroud)

Pra*_*man 5

注意:复制ids 是犯罪行为.

通过改变所有的id欺骗来做对class,这应该工作:

$(function () {
  $(".post-title").filter(function () {
    return $(this).find("a").length == 0;
  }).hide();
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-3.0.0.js"></script>
<div id="latest">
  <div class="post">
    <div class="post-image post-image-1"></div>
    <div class="post-content">
      <div class="post-title post-title-1">Hide This</div>
      <div class="post-date"></div>
    </div>
  </div>
  <div class="post">
    <div class="post-image post-image-2"></div>
    <div class="post-content">
      <div class="post-title post-title-2"><a href="">Don't Hide</a></div>
      <div class="post-date"></div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)