如何使用JQuery循环遍历tr和set属性(id和name)中的所有输入
答案 0 :(得分:6)
$("tr input").each(function()
{
$(this).attr("id", .....);
$(this).attr("name", .....);
});
答案 1 :(得分:3)
这可以一次完成:
$('tr input').attr({
'id': 'new_id',
'name': 'new_name'
});
但由于id应该是唯一的,这可能不是你想要做的。这是一个更好的方法:
$('tr input').attr({
'id': function (index, attr) { return 'new_id-' + index },
'name': function (index, attr) { return 'new_name-' + index }
});
这将改变您输入的ID和名称,如下所示:
<tr>
<td><input type="text" id="new_id-0" name="new_name-0"></td>
</tr>
<tr>
<td><input type="text" id="new_id-0" name="new_name-1"></td>
</tr>
<tr>
<td><input type="text" id="new_id-0" name="new_name-2"></td>
</tr>
您可以在API docs for attr()找到更多信息。
答案 2 :(得分:1)
来自Looping and setting name and id in jquery
$(function() {
$('#table tr').each(function(index, element)
{
var e = $(element);
e.find('td:eq(0)').text(index);
var first = 'txtCollectionText' + index.toString();
var second = 'txtLink' + index.toString();
e.find('td:eq(1) input').attr({name: first, id: first});
e.find('td:eq(2) input').attr({name: second, id: second});
});
}
如果放在脚本标记内,则只要浏览器构建完文档,该代码就会自动执行。这就是$(function() {})
符号的作用 - 它是$(document).bind('ready', function() {})
的简写。