Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更改id或名称的值?_Javascript - Fatal编程技术网

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并从中保存两个属性:)