如何根据td选择tr

时间:2014-08-21 13:22:13

标签: javascript jquery html arrays

我正在尝试选择" tr"基于" td" class,一旦我得到了数组,我想得到所有tr" data-fid"值。

这就是我得到的,

var rows = $("#tableB tr").children(".New.selected") // returns  td, but I want tr

一旦我得到了行,我想获得数据fid值的数组,

var selectedValues = rows.attr('data-fid');  // not sure if it will work but i guess this is how i would do it

我正在尝试谷歌,但我找到正确措辞的运气只是失败了todya。

<table id="tableB" class="dmctable2">
    <tr data-fid="1" Class="selected"><td></td><td></td><td class="New selected"></td></tr>
    <tr data-fid="2"></tr>
    <tr data-fid="3" Class="selected"></tr>
</table>

1 个答案:

答案 0 :(得分:4)

您可以使用:has()选择器。

  

选择包含至少一个与指定选择器匹配的元素的元素。

像这样:

$("#tableB tr:has(.New.selected)")

并获取数组中的数据值:

 $("#tableB tr:has(.New.selected)").map(function(){return $(this).data("fid");}).get();

faster的另一个选择是选择.New.selected元素,然后访问其parent

$("#tableB tr .New.selected").parent('tr')