jquery检索一些元素的id并将它们写入数组中

时间:2013-02-25 16:03:13

标签: jquery each attr

我需要执行以下操作:检查tr的第3个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&gt; 0)或($(“。bgwhite td:nth-​​child(3):contains(' 56')“)。length&gt; 0)检查第三个单元格是否包含我正在寻找的值。

$( “PA ”)。兄弟姐妹()。第一()。儿童(“ 输入[类型= '复选框']”) 给我复选框,但我无法检索其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。

2 个答案:

答案 0 :(得分: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
  5. 你是说你尝试了所有这些并且都没有用?

答案 1 :(得分:0)

$('.bg .pa:last').each(function(){

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

         longlist.push( $(this)
                           .closest('.bg')
                           .find('.selected_ads')
                           .attr('id') );
     }
});