微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery – 按子类选择父项?

如何选择< tr>包含小孩< div class =“test”>如下所示?
<table>
<tr> <!-- this tr is what I want to select -->
<td>
<div class="test"> text </div>
</td>
</tr>
</table>

解决方法

您可以使用 parentsclosest,具体取决于您的需要:
$("div.test").parents("tr");
// Or
$("div.test").closest("tr");

(初始选择器可以是任何与你的div匹配的,所以“.test”也可以。)

如果桌子上有一张桌子,父母会一直看着树,可能匹配多个tr元素。最接近的将停止与每个div遇到的第一个tr。

以下是使用最近的示例:

Live copy | Live source

HTML:

<table>
<tr id="first"> <!-- this tr I want to select -->
<td>
<div class="test"> text </div>
</td>
</tr>
<tr id="second"> <!-- this tr I want to select -->
<td>
<div class="test"> text </div>
</td>
</tr>
<tr id="third"> <!-- this tr I want to select -->
<td>
<div class="test"> text </div>
</td>
</tr>
</table>

JavaScript的:

jQuery(function($) {

  var rows = $("div.test").closest("tr");
  display("Matched " + rows.length + " rows:");
  rows.each(function() {
    display("Row '" + this.id + "'");
  });

  function display(msg) {
    $("<p>").html(msg).appendTo(document.body);
  }
});

输出

Matched 3 rows:
Row 'first'
Row 'second'
Row 'third'

原文地址:https://www.jb51.cc/jquery/181734.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐