parentnode(parentNode和parentElement)

http://www.itjxue.com  2023-01-29 09:30  来源:未知  点击次数: 

无法获取未定义或null引用的属性parentnode

var node=document.getElementById("__ax2sd2sdfkd");

获取的node变量是个null,下一行再点取时自己出空指针异常。

首先要保护一下

if(node != null) {

....

}

其次,考虑一下 "__ax2sd2sdfkd" 这个ID肯定存在吗?它的名字是不是随机的?有没有拼写错误?

解释下这条语句this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);

this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode);这句可以这样看:

第一部分this.parentNode.parentNode.parentNode.

第二部分:removeChild(this.parentNode.parentNode);

第一部分意思是:匹配到this所指向的元素的父容器的父容器的父容器,也就是在这个元素外面第三层包裹他的那个元素。

第二部分意思就是:删除这个节点,并且是删除的是这个this元素指向的元素的父容器的父容器,也就是这个元素第二层包裹它的那个元素。

例如:

div id="div1"

div id="div2"

div id="div3"

p1/p

p1/p

p1/p

/div

/div

/div

如果this是指向p元素的,那么你上面这段代码意思就是删除p元素外面第三层的div下的id是div2的元素。

删除后的代码就只剩下:

div id="div1"

/div了。

js里parentNode是获得父节点,那么怎么获得子节点呢

parentNode.childNode:

parentObj.firstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持parentObj.firstChild.firstChild.firstChild...的形式,如此就可以获得更深层次的节点。

(责任编辑:IT教学网)

更多

相关图片影音文章

推荐图片影音文章