使用jQuery </div>在<div>中选择自定义属性

时间:2012-10-10 16:38:20

标签: javascript jquery asp.net html

我有一个包含以下td的表:

<td>
      <div id="spcheck">
         <div id="check" 
              data-1='<%# Eval("sth1") %>' 
              data-2='<%# Eval("sth2") %>' 
              data-3='<%# Eval("sth3") %>'>
              <asp:CheckBox ID="chk1" runat="server"/>
          </div>
      </div>
</td>

这是最后一个。您可以看到它具有自定义属性。如果选中复选框,我需要获取值data-1,data-2和data-3。我有以下代码获取每个tr,但我需要进入td并获取属性值:

$('#ListView2_itemPlaceholderContainer tbody tr').each(function () {
                // I GET THE <TR>
                $(this).find('input:checkbox:checked').each(function () {
                    // I NEED THIS CODE
                    });
                });
            });

提前致谢。

3 个答案:

答案 0 :(得分:2)

因为属性在div上,你需要先找到div并获得div的属性..你可以使用div上的.attr()来获取它们

 $(this).find('input:checkbox:checked').each(function () {
         var $closestDiv = $(this).closest('div');  // Find the div

         var $data1 = $closestDiv.attr('data-1');  // data-1
         var $data2 = $closestDiv.attr('data-2');  // data-2
         var $data3 = $closestDiv.attr('data-3');  // data-3
  });

答案 1 :(得分:1)

$('#ListView2_itemPlaceholderContainer tbody tr').each(function () {
    $(this).find('input:checkbox:checked').each(function () {
           var dataElement = $(this).closest('[data-1]');

           var data1 = dataElement.data('1');
           var data2 = dataElement.data('2');
           var data3 = dataElement.data('3');
        });
    });
});

答案 2 :(得分:0)

$(this).attr('data-1'); 

应该做的伎俩

请参阅jQuery manual entry了解attr