jQuery'this'通过表循环

时间:2012-07-12 13:35:23

标签: jquery html-table this each

我正在尝试获取当前行的ID的值以及所选单选按钮的值,该单选按钮是其中一个单元格中的一个组,但该行具有唯一名称且没有其他单选按钮。

它在行中循环正常但我无法获得正确的语法来获取值,我感兴趣。

有一次,它通过每个'TD'循环寻找ID。在另一个上面说.attr不适用于'this'对象。

    function getWMarkImgs() {
       $('#wmkTable tr').each(function() {
       var v1 = $(this).tr.attr('id');
       var v2 = $(this input[name=group1]:checked).val();
       $('#dbgDIV').append('V1=' + v1 +' V2=' v2 + '<hr>');
    });

我似乎总是对'this'对象有困难。

感激不尽的任何帮助。

3 个答案:

答案 0 :(得分:3)

function getWMarkImgs() {
       $('#wmkTable tr').each(function() {
       var v1 = $(this).attr('id');
       var v2 = $(this).find("input[name=group1]:checked").val();
       $('#dbgDIV').append('V1=' + v1 +' V2=' v2 + '<hr>');
    });

OR

function getWMarkImgs() {
           $('#wmkTable tr').each(function() {
           var v1 = $(this).attr('id');
           var v2 = $(this).children().children("input[name=group1]:checked").val();
           $('#dbgDIV').append('V1=' + v1 +' V2=' v2 + '<hr>');
        });

OR(最好的)

function getWMarkImgs() {
           $('#wmkTable tr').each(function() {
           var v1 = this.id;
           var v2 = $(this).find("input[name=group1]:checked").val();
           $('#dbgDIV').append('V1=' + v1 +' V2=' v2 + '<hr>');
        });

答案 1 :(得分:1)

尝试find()方法:

  

获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤。

function getWMarkImgs() {
   $('#wmkTable tr').each(function() {
      var v1 = $(this).attr('id');
      var v2 = $(this).find("input[name=group1]:checked").val();
      $('#dbgDIV').append('V1=' + v1 +' V2=' v2 + '<hr>');
   });
}

答案 2 :(得分:0)

试试这个

function getWMarkImgs() {
    var div = $('#dbgDIV');
    $('#wmkTable tr:has(input[name=group1]:checked)').each(function() {
        var me = $(this);
        var v2 = me.find('input[name=group1]').val();
        div.append('V1=' + me.attr('id') +' V2=' v2 + '<hr>');
});