2013-01-11 12 views
2

如何交換兩個文本框的ID?使用javascript如何交換文本框的ID

我有兩個文本框,

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

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

編程通過JavaScript,我想交換的ID 名1和兩個文本框的NAME2。請建議正確的方法來實現這一點。謝謝。

+0

這是可行的,但出於利益你爲什麼要這樣做?可能有更好的方法來實現您的最終目標。 – Jamiec

+0

究竟是什麼問題?獲取對DOM元素的引用?獲取ID屬性?設置ID屬性? –

+0

我想交換這些文本框的值。但是兩個文本框都應該包含對方的ID,這樣它才能連續顯示對應的值。因爲它有很多JavaScript事件。我不想僅僅交換價值。 – Neetesh

回答

1

試試這個代碼...

var id1 = document.getElementById('name1'); 
var id2 = document.getElementById('name2'); 
id1.setAttribute("id", "name2"); 
id2.setAttribute("id", "name1"); 
2

更換標識是得到一個參考兩個文本框,然後指定你希望他們有ID作爲簡單。雖然暫時擁有兩個具有相同ID的元素是無效的,但沒有瀏覽器會阻止您這樣做。

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

fname.setAttribute('id', 'name2'); 
lname.setAttribute('id', 'name1'); 
3
function swapId(elem1, elem2) { 
    var temp = elem1.id; 
    elem1.id = elem2.id; 
    elem2.id = temp; 
} 

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

這是一個非常簡單的例子。應該有更多的檢查,如果傳入值真的是實際的DOM節點的引用等,但這將工作得很好。

+0

我想交換這些文本框的值。但是兩個文本框都應該包含對方的ID,這樣它才能連續顯示對應的值。因爲它有很多JavaScript事件。我不想僅僅交換價值。 – Neetesh

相關問題