0

我需要执行以下操作:检查 tr 的第三个 td 是否包含(完全)56,然后检索该行的第一个 td 中包含的复选框的 id。

<table>
    <tr class="bg">
        <td nowrap="nowrap">
            <input class="selected_ads" type="checkbox" id="43617" />
        </td>
        <td class="pa">text text</td>
        <td class="pa">56</td>
    </tr>
    <tr class="bgwhite">
        <td nowrap="nowrap">
            <input class="selected_ads" type="checkbox" id="183578" />
        </td>
        <td class="pa">text</td>
        <td class="pa">56</td>
    </tr>
</table>

($(".bg td:nth-child(3):contains('56')").length>0) 或 ($(".bgwhite td:nth-child(3):contains('56') ").length>0) 检查第三个单元格是否包含我要查找的值。

$(".pa").siblings().first().children("input[type='checkbox']") 让我获得了复选框,但我无法检索它的 ID。

理想情况下,我的代码如下所示:

var longlist = [];
for each ($(".bg td:nth-child(3):contains('56')").length>0) {

retrieve the id of $(".pa").siblings().first().children("input[type='checkbox']");
longlist.push(checkbox_id);
}

对 .bgwhite 做同样的事情;

理想情况下它也会起作用。

对我来说最重要的是检索 id。

4

2 回答 2

1

给定一个 jQuery 元素:

var $foo = $(".pa").siblings().first().children("input[type='checkbox']");

至少有 4 种方法可以访问其 ID:

  1. var id = $foo[0].id;– 数组解引用 + vanilla DOM
  2. var id = $foo.get(0).id;http://api.jquery.com/get + vanilla DOM
  3. var id = $foo.attr('id');http://api.jquery.com/attr
  4. var id = $foo.prop('id');http://api.jquery.com/prop

你是说你尝试了所有这些但没有一个工作?

于 2013-02-25T16:06:44.827 回答
0
$('.bg .pa:last').each(function(){

     if($(this).text() === '56'){

         longlist.push( $(this)
                           .closest('.bg')
                           .find('.selected_ads')
                           .attr('id') );
     }
});
于 2013-02-25T16:15:57.797 回答