嘿伙计们,我最近开始开发一个来自DOM的所有div标签的自动识别器。
我想获取他们的属性,比如offsetWidth,offsetLeft,...当我尝试显示变量时,控制台返回。
我的代码如下:
var elements = [];
elements.push(document.querySelectorAll('body > div'));
console.log(elements);
控制台返回:
[NodeList[3]]
0: NodeList[3]
0: div
1: div
2: div
length: 3
__proto__: NodeList
length: 1
__proto__: Array[0]
HTML:
<div style="left:40px;top:10px;position:absolute">
<img src="assets/images/text1.png" />
</div>
<div style="left:200px;top:88px;position:absolute">
<img src="assets/images/text2.png" />
</div>
<div style="left:85px;top:166px;position:absolute">
<img src="assets/images/text3.png" />
</div>
我的问题是:
我如何使用我的div访问数组,这样我就可以得到它的长度,它的整个属性(如offsetLeft
)如果控制台中的扩展div显示x,y,naturalHeight等许多属性......
修改
对不起,我忘了提,代码应该是PURE JS!抱歉添加了错误的jQuery标签......
答案 0 :(得分:0)
您实际上正在启动一个数组并将querySelector中的元素推送到它。相反,您可以直接分配querySelector
的结果var elements = document.querySelectorAll('body > div');
console.log(elements);
答案 1 :(得分:0)
首先,如果您可以直接声明并使用元素初始化它,为什么要将.push()与数组一起使用:
var elements = document.querySelectorAll('body > div');
然后,对于每个元素,您将需要使用.attributes来获取所有属性:
for(elem in elements) {
console.dit(elem.attributes);
};