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'

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...