如何选择< tr>包含小孩< div class =“test”>如下所示?
<table> <tr> <!-- this tr is what I want to select --> <td> <div class="test"> text </div> </td> </tr> </table>
解决方法
您可以使用
parents
或
closest
,具体取决于您的需要:
$("div.test").parents("tr"); // Or $("div.test").closest("tr");
(初始选择器可以是任何与你的div匹配的,所以“.test”也可以。)
如果桌子上有一张桌子,父母会一直看着树,可能匹配多个tr元素。最接近的将停止与每个div遇到的第一个tr。
以下是使用最近的示例:
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'