jQuery – 按子类选择父项?

前端之家收集整理的这篇文章主要介绍了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'

猜你在找的jQuery相关文章