使用javascript为输入元素动态设置不同的id属性
我在为表中动态添加的输入框设置不同的ID时遇到了一个问题。 问题是: 当用户单击“添加新行”时,我正在插入新行。现在我必须为输入框设置不同的id。我使用了一个静态变量,每次用户单击AddNewRow按钮时都会增加它的值。然后我将它的值附加到id值,比如temp(即id将是使用javascript为输入元素动态设置不同的id属性,javascript,html,Javascript,Html,我在为表中动态添加的输入框设置不同的ID时遇到了一个问题。 问题是: 当用户单击“添加新行”时,我正在插入新行。现在我必须为输入框设置不同的id。我使用了一个静态变量,每次用户单击AddNewRow按钮时都会增加它的值。然后我将它的值附加到id值,比如temp(即id将是temp1,temp2等等)。我将变量xyz作为 var xyz=“temp”+i(其中i是计数器) 现在我必须使用setattribute将xyz分配给id。 但由于setattribute中的值只能是文字,如何使用变量来代替
temp1
,temp2
等等)。我将变量xyz作为
var xyz=“temp”+i
(其中i是计数器)
现在我必须使用setattribute
将xyz
分配给id。
但由于setattribute
中的值只能是文字,如何使用变量来代替该值
如果您有其他方法,请告诉我。它也可以是一个包含字符串的变量
var fooId = "foo";
for (var i = 0; i <= 2; i++) {
document.getElementsByTagName('div')[i].setAttribute('id', fooId + (i + 1));
}
var fooId=“foo”;
for(var i=0;isetAttribute
允许变量用作值参数
例如:
将导致:
<div id="temp1"></div>
元素。setAttribute(“id”,xyz);
元素是您的输入。首先setAttribute
是元素的未定义属性,因为它区分大小写,而setAttribute
当然是可用的
其次,您完全不需要使用setAttribute
。您只需修改id
属性即可达到相同的效果:
var el = document.createElement('div'), // your element
staticPart = 'myUniqId', // your static part of a unique id
i = 0; // your uniqueness
el.id = staticPart + i; // assign unique id to the element
// el.setAttribute('id', staticPart + i); // does the same, but more verbose
// Let's check if it worked:
el.getAttribute('id'); // "myUniqId0"
el.id; // "myUniqId0"
第三,你在哪里看到的
setattribute中的值只能是文字
规范说明,setAttribute
接受两个类型的参数,name
和value
。您可以传递任意值。请注意,它将转换为字符串:
el.id = {a: 'b'};
el.id; // "[object Object]"
有关(;iIt也可以是一个包含字符串的变量,请参见和。
el.id = {a: 'b'};
el.id; // "[object Object]"
for(;i<7;i++)
{document.getElementById("test").innerHTML +='<form id="form'+f+++'" method="get"><input type="text" id="in'+i+++'" size="12%"><input type="text" id="in'+i+++'" size="12%" ><input type="text" id="in'+i+++'"size="12%"><input type="text" id="in'+i+++'"size="10%" ><input type="text" id="in'+i+++'"size="10%"><input type="text" id="in'+i+++'" size="10%"><input type="text" id="in'+i+++'"size="12%"></form>'
}