2010-04-23 86 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