2つのテキストボックスのIDを交換するにはどうすればよいですか?
私は2つのテキストボックスを持っています、
<input type="text" id="name1" name="fname"/>
と
<input type="text" id="name2" name="lname"/>
プログラムでJavascriptを使用して、両方のテキストボックスのIDname1とname2を交換したいと思います。これを達成するための正しい方法を提案してください。
2つのテキストボックスのIDを交換するにはどうすればよいですか?
私は2つのテキストボックスを持っています、
<input type="text" id="name1" name="fname"/>
と
<input type="text" id="name2" name="lname"/>
プログラムでJavascriptを使用して、両方のテキストボックスのIDname1と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 の交換は、2 つのテキスト ボックスへの参照を取得し、必要な ID を割り当てるだけです。同じ ID を持つ 2 つの要素を一時的に持つことは無効ですが、これを妨げるブラウザーはありません。
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");