2

如何交换两个文本框的 ID?

我有两个文本框,

<input type="text" id="name1" name="fname"/>

<input type="text" id="name2" name="lname"/>

通过 Javascript 以编程方式,我想交换两个文本框的 ID name1name2。请提出正确的方法来实现这一目标。

4

3 回答 3

3
function swapId( elem1, elem2 ) {
    var temp = elem1.id;
    elem1.id = elem2.id;
    elem2.id = temp;
}

swapId( document.getElementById('name1'), document.getElementById('name2') );

这是一个非常简化的例子。如果传入的值真的是对实际 DOM 节点的引用等,应该进行更多检查。但这会很好。

于 2013-01-11T11:21:26.133 回答
2

交换 ID 就像获取两个文本框的引用一样简单,然后分配您希望它们拥有的 ID。虽然暂时拥有两个具有相同 ID 的元素是无效的,但没有浏览器会阻止您这样做。

var fname = document.getElementById('name1');
var lname = document.getElementById('name2');

fname.setAttribute('id', 'name2');
lname.setAttribute('id', 'name1');
于 2013-01-11T11:21:15.297 回答
1

试试这个代码...

var id1 = document.getElementById('name1');
var id2 = document.getElementById('name2');
id1.setAttribute("id", "name2");
id2.setAttribute("id", "name1");
于 2013-01-11T11:20:45.710 回答