使用纯JavaScript ,我试图在循环收集时获取给定childNode的偏移量。
我有一个容器,其中包含一系列文本childNodes:
var theChildren = document.getElementById( "parentContainer" ).childNodes,
theChildrenLen = theChildren.length;
for( var i=0; i<theChildrenLen; i++ ) {
console.log( theChildren[i].offsetLeft );
}
我为此和任何其他偏移引用都未定义。
有人提出这个方法吗?
答案 0 :(得分:1)
简短的回答是每个孩子之间都有一个文本节点。如果你在console.log中调用'theChildrenLen'变量,你会发现它不是你所期望的。为了过滤掉那些,你应该像这样添加一个if语句:
for( var i=0; i<theChildrenLen; i++ ) {
if (theChildren[i].nodeType !== 3)
console.log( theChildren[i].offsetLeft );
}
这将跳过您通常会遇到的任何文本节点。