Javascript 如何更改id或名称的值?
例如:Javascript 如何更改id或名称的值?,javascript,Javascript,例如: <table id ='table'> <tr> <td>1</td> <td><select id='old' name='old'></select></td> <td><select id='old2' name='old2'></select></td> <td><div id='old3' name='old3'>
<table id ='table'>
<tr>
<td>1</td>
<td><select id='old' name='old'></select></td>
<td><select id='old2' name='old2'></select></td>
<td><div id='old3' name='old3'></div></td>
</tr>
</table>
1.
删除javascript中的行后,如何将id或name的值从select id='old'更改为select id='new'(例如)?
我一直在尝试所有的方法,比如尝试getElementById('old')='new',但不起作用,使用的replaceChild也不起作用(或者可能我输入了错误的代码,不知道)。
你还有其他选择吗?(请不要用JQuery)
谢谢。您可以使用setAttribute方法来完成此操作
var sel = document.getElementById("old"); //Reference the element
sel.id = "new"; //set the id
document.getElementById("old").setAttribute("id","new");
document.getElementById("new").setAttribute("name","new");
试试这个:
document.getElementById("old").name = 'NewName';
alert(document.getElementById("old").name);
document.getElementById("old").id = 'Newid';
alert(document.getElementById("Newid").id);
这对我来说很有用。我觉得这里发生了一些不雅的事情;如果你告诉我们更多,我们就能说“正确的方法”来做这件事。如果你仍然有一个很好的理由去做你正在做的事情,只需调用你已经做了所有更改的这段代码。它将更新行中的所有元素,使其具有正确的编号
var formElements = document.getElementById('table').getElementsByClassName('toUpdate');
for (var i=0; i<formElements.length; i++) {
var e = formElements[i];
e.id = 'new'+i;
}
var formElements=document.getElementById('table').getElementsByClassName('toUpdate');
对于(var i=0;i)您没有提到其他行的编号是否应该change@ninjagecko哦,是的,其他行也应该更改,与我给出的示例相同,如果old2更改为new2,old3更改为new3等等。@KitHo只是想知道并用Javascript学习这一点(这并不意味着我不喜欢JQuery或不想使用/学习),此外,我已经使用了Javascript,如果我更改为JQuery,我会混淆:D.注意,在第二行中,我从第一行中分配的新Id调用了元素,也许您这样做只是为了证明Id已更改,但您不会将初始元素引用存储在一个变量中,然后设置这两个属性吗从该变量而不是再次调用.getElementById()
?是的,我这样做是为了表明id已更改,并且可以由您分配的新id访问,而不会出现问题。但正如您所说,最好存储一个ref并从中保存两个属性:)