2010-04-23 119 views
2

給定兩個DOM元素,比如說a和b,我們如何確定哪個文檔最先出現?訂購DOM元素

我正在實現拖放一組元素。這些元素可以按任意順序選擇,但是當它們被拖拽時,這些元素需要按照「正確」順序移動。

回答

1

我認爲最簡單的方法是給他們兩個共同的東西,可以很容易地擡頭。舉例來說,如果它們都具有相同的name屬性,你可以使用getElementsByName,將返回的順序元素的集合,他們出現在文檔中:

var els = document.getElementsByName("myName"); 

這裏els[0]將包含的第一個元素文件,els[1]將包含第二個。

使用選擇,您可以通過使用組合,選擇分離器實現同樣的事情:

var els = document.querySelectorAll("#el1, #el2"); 

唯一的缺點是,querySelectorAll()僅由新的瀏覽器(所以IE6/7排除)的支持。另一種方法是使用像jQuery框架:

var els = $("#el1, #el2"); 
+0

這使得推測他正在比較的兩個元素具有相同的標籤名稱。 – 2010-04-23 08:14:52

+0

@austin cheney:你把getElementsByName和getElementsByTagName混淆了。 'getElementsByName'檢索具有相同名稱屬性的所有元素,例如'Hello'。另外,我添加了其他選擇。 – 2010-04-23 08:18:05

+0

只有少數元素被允許具有名稱屬性。 – RoToRa 2010-04-23 09:58:28