如何遍历tr内的所有输入并设置属性(id和name)

时间:2010-08-13 17:27:38

标签: jquery jquery-selectors

如何使用JQuery循环遍历tr和set属性(id和name)中的所有输入

3 个答案:

答案 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() {})的简写。

相关问题