Javascript 使用数组外的childNodes初始化变量
有人能解释一下以下JavaScript语法的作用吗:Javascript 使用数组外的childNodes初始化变量,javascript,arrays,child-nodes,Javascript,Arrays,Child Nodes,有人能解释一下以下JavaScript语法的作用吗: var tagLink_ar = document.getElementsByTagName('td'); **var x = tagLink_ar.childNodes, i=0, j;** // Not sure ??? 这是来自一个旧的javascript函数,它不再在IE>9或FF中工作 tagLink_ar当然是TD标签的数组,但我以前没有见过一个包含索引元素I和j的变量,在我的在线研
var tagLink_ar = document.getElementsByTagName('td');
**var x = tagLink_ar.childNodes, i=0, j;** // Not sure ???
这是来自一个旧的javascript函数,它不再在IE>9或FF中工作
tagLink_ar当然是TD标签的数组,但我以前没有见过一个包含索引元素I和j的变量,在我的在线研究中也找不到类似的描述符。我是否只引用起始元素和长度
如何以类似的方式加载x
这是一个简单的x、i和j声明。但是得到一个TypeError:x是未定义的
以下是作为参考的功能:
var tagLink_ar = document.getElementsByTagName('td');
**var x = tagLink_ar.childNodes, i=0, j;** // Not sure ???
while(j == x[i++]){
if(j.nodeType == 1 && nodeName == 'div'){
var viewDiv = getStyle(divElement, 'display');
if (viewDiv == 'block'){
x[j].style.borderBottom = "1px solid #000000";
}
}
}
注意到while上的语法错误,应该是j=x[i++],并且j.nodeName没有合理的情况下x可以有childNodes属性。tagLink_ar是一个节点列表,该列表中的每个元素都有一个childNodes属性 还有一些其他的原因可以解释为什么该代码永远不会工作。你抄对了吗 为了获得代码设计的结果,您可以这样做,我提供了一些示例HTML,以便您可以将其作为代码段运行: var tagLink_ar=document.getElementsByTagName'td', 子对象,i,j,节点,viewDiv; 对于i=0;i
var x = tagLink_ar.childNodes, i=0, j;
相当于
var x = tagLink_ar.childNodes;
var i = 0;
var j = undefined;
这只是一个变量声明,声明了3个变量:x、i和j。这些代码毫无意义。tagLink_ar有索引,其中每个元素都有一个子节点。这段代码应该做什么?@AlexanderO'Mara right-节点列表对象上没有childNodes属性。@rfornal:不,一点也不。@rfornal不,没有。x设置为tagLink_ar的默认未定义属性。它不会在tagLink_ar上创建属性。