javascript - 使用 jQuery 选择元素有两个特定的子元素

标签 javascript jquery html jquery-selectors

我想通过匹配两个 child 来选择 parent 。 我的代码:

$('span:contains("11:00am"), span.name:contains("Tom")').parents("a").css("background-color","rgb(255, 255, 255)");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a style="background-color: rgb(0, 0, 0);">
  <div class="time">
    <span>11:00am</span>
  </div>
  <span class="name">Tom</span>
</a>
<a style="background-color: rgb(0, 0, 0);">
  <div class="time">
    <span>11:00am</span>
  </div>
  <span class="name">Jack</span>
</a>

但是,这将选择汤姆 jack 的时间。

最佳答案

您需要选择a标签,然后使用:has()过滤元素的选择器具有特定的子元素。

$('a:has(span:contains("11:00am")):has(span.name:contains("Tom"))')

$('a:has(span:contains("11:00am")):has(span.name:contains("Tom"))').css("background-color","rgb(255, 255, 255)");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a style="background-color: rgb(0, 0, 0);">
  <div class="time">
    <span>11:00am</span>
  </div>
  <span class="name">Tom</span>
</a>
<a style="background-color: rgb(0, 0, 0);">
  <div class="time">
    <span>11:00am</span>
  </div>
  <span class="name">Jack</span>
</a>

关于javascript - 使用 jQuery 选择元素有两个特定的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55234360/

相关文章:

javascript - Gulp 文件生成根路径而不是相对路径

javascript - 如何将变量从两级以上的范围获取到隔离范围

jquery - 谷歌分析 - 发送自定义维度,但有些缺失

html - 具有最大长度的电子邮件地址正则表达式

javascript - 简单的 jQuery div 切换不起作用

html - 内联列被下推

javascript - Mongoose findOne.populate 范围问题

javascript - 将 jquery 对象分配给变量无法按预期工作

javascript - 如何使用 moment.js 获取日期范围

javascript - 如何根据单击元素的位置使元素出现在右侧或左侧?