Jquery 如何获取html标记';s属性值,在javascript中使用类名
我有10个“tr”标签,如下所示:Jquery 如何获取html标记';s属性值,在javascript中使用类名,jquery,jquery-jtable,Jquery,Jquery Jtable,我有10个“tr”标签,如下所示: <tr class="jtable-data-row jtable-row-even" data-record-key="13"> <td class="jtable-selecting-column"> <input type="checkbox"> <label for=""> <span></span> </label> </td> </tr>
<tr class="jtable-data-row jtable-row-even" data-record-key="13">
<td class="jtable-selecting-column">
<input type="checkbox">
<label for="">
<span></span>
</label>
</td>
</tr>
<tr class="jtable-data-row" data-record-key="11">
<td class="jtable-selecting-column">
<input type="checkbox">
<label for="">
<span></span>
</label>
</td>
</tr>
如果勾选了“数据记录键”复选框,如何获取其值?我应该使用哪个类或ID名称
我必须说,我无法更改html代码。假设您正在响应复选框上的事件,
事件处理程序中的此
将引用与事件相关的复选框。因此,在事件处理程序中:
var key = $(this).closest('tr').attr('data-record-key');
-事件相关的复选框元素此
-将其包装在jQuery实例中$(…)
-查找其最近的祖先,即.closest('tr')
tr
-从中获取.attr('data-record-key')
属性数据记录键
最接近('[data record key]')
来查找具有该属性的最近祖先,而不是最接近('[data record key]')
或者,如果您试图为选中的每个复选框查找键,您可以这样查询:
var checkedRecordKeys = $("[data-record-key] input[type=checkbox]").map(function() {
return this.checked
? $(this).closest("[data-record-key]").attr("data-record-key")
: undefined;
}).get();
checkedRecordKeys
将是带有复选框的行的所有数据记录键的值的数组。只需添加一个替代项-您也可以使用data()
获得数据属性值,如下所示:
$("input").on("click", function () {
var dVal = $(this).closest("tr").data("recordKey");
alert(dVal);
});
对于
小提琴:
jQuery数据的参考:
为了访问数据值,数据属性的名称将去掉“data-”和连字符(如果有);连字符后的第一个字符是大小写,因此数据记录键
作为记录键
访问