我正在尝试遍历表格中的每个tr
并获取每个td的值td
是某个类。
我正在这样填充我的桌子:
var attr = "checked";
$('#mytbody').prepend('<tr><td class="cb" value="' + attr + '"><input type="checkbox" ' + attr + ' disabled class="filterPaid" id="invPaid' + i + '" value="outstanding" name="filterTasks[]"></td>.......</tr>');
我正试图像这样搜索:
$("#paidFilter").change(function() {
if(this.checked) {
$('#mytbody > tr > td.cb').each(function(){
console.log($(this).val());
});
}
});
但是,这不会返回class ='cb'的td
的任何值。
如何检索这些值?
答案 0 :(得分:2)
.val()
不像输入那样存在。对于td,value是一个属性,因此您可以通过.attr('value')
$(document).ready(function() {
$('#mytbody > tr > td.cb').each(function(){
console.log($(this).attr('value'));
$(this).append($(this).attr('value'));
});
});
<table>
<tbody id="mytbody">
<tr>
<td class="cb" value="checked">CB should append value here:</td>
<td class="cb" value="checked">CB should append value here:</td>
<td class="" value="checked">NOT CB</td>
</tr>
<tr>
<td class="cb" value="checked">CB should append value here:</td>
<td class="" value="checked">NOT CB</td>
<td class="cb" value="checked">CB should append value here:</td>
</tr>
</tbody>
</table>
你很亲密:]希望这会有所帮助
答案 1 :(得分:1)
$().val()
严格用于从表单输入中获取value=""
个属性,例如<input>
或<textarea>
。
如果您仍希望为value=""
元素分配<td>
元素(不推荐),则可以使用$('#mytbody').attr('value')
检索它。同样也可用于检索任何其他属性的值。