2

2つのテキストボックスのIDを交換するにはどうすればよいですか?

私は2つのテキストボックスを持っています、

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

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

プログラムでJavascriptを使用して、両方のテキストボックスのIDname1name2交換したいと思います。これを達成するための正しい方法を提案してください。

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 の交換は、2 つのテキスト ボックスへの参照を取得し、必要な ID を割り当てるだけです。同じ ID を持つ 2 つの要素を一時的に持つことは無効ですが、これを妨げるブラウザーはありません。

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 に答える