如何交换两个文本框的 ID?
我有两个文本框,
<input type="text" id="name1" name="fname"/>
和
<input type="text" id="name2" name="lname"/>
通过 Javascript 以编程方式,我想交换两个文本框的 ID name1和name2。请提出正确的方法来实现这一目标。
如何交换两个文本框的 ID?
我有两个文本框,
<input type="text" id="name1" name="fname"/>
和
<input type="text" id="name2" name="lname"/>
通过 Javascript 以编程方式,我想交换两个文本框的 ID name1和name2。请提出正确的方法来实现这一目标。
function swapId( elem1, elem2 ) {
var temp = elem1.id;
elem1.id = elem2.id;
elem2.id = temp;
}
swapId( document.getElementById('name1'), document.getElementById('name2') );
这是一个非常简化的例子。如果传入的值真的是对实际 DOM 节点的引用等,应该进行更多检查。但这会很好。
交换 ID 就像获取两个文本框的引用一样简单,然后分配您希望它们拥有的 ID。虽然暂时拥有两个具有相同 ID 的元素是无效的,但没有浏览器会阻止您这样做。
var fname = document.getElementById('name1');
var lname = document.getElementById('name2');
fname.setAttribute('id', 'name2');
lname.setAttribute('id', 'name1');
试试这个代码...
var id1 = document.getElementById('name1');
var id2 = document.getElementById('name2');
id1.setAttribute("id", "name2");
id2.setAttribute("id", "name1");