Javascript 这是什么。parentElement?

Javascript 这是什么。parentElement?,javascript,javascript-events,Javascript,Javascript Events,什么是xx.newObject=this.parentElement正在执行?它保存对此的父元素的引用。例如: pg.myfunc = function(){ var i = 1, j = 2; this.selected = 1; xx.newObject = this.parentElement; ... 在这种情况下,如果this对应于childspan,parentElement将对应于parentdiv 也就是说,您应该始终使用parentNode而不是

什么是
xx.newObject=this.parentElement正在执行?

它保存对
的父元素的引用。例如:

pg.myfunc = function(){
    var i = 1, j = 2;
    this.selected = 1;
    xx.newObject = this.parentElement;

...

在这种情况下,如果
this
对应于
child
span,
parentElement
将对应于
parent
div

也就是说,您应该始终使用
parentNode
而不是
parentElement
,因为
parentElement
是专有的,并且(我相信)仅适用于IE。根据:

没有适用于该物业的公共标准


它与
this.parentNode
相同:它将包含
this
的节点作为子节点提供给您
这个
将是
pg
,可能是某种元素
this.parentNode
将是包含它的元素,如果
pg
是根元素,则
document
对象将是根元素

parentElement
是非标准的。由于IE还支持标准属性
parentNode
parentElement


或者,它可能只是一个具有名为
parentElement
的属性的任意对象,在这种情况下,它可以是任何对象。没有真正的方法可以从代码中分辨出来,但是在元素节点上设置任意属性(如
myfunc
)是不常见的。

没有上下文就不可能知道。我们不知道xx是什么,也不知道“this”对象是什么。parentElement可能是pg的一个属性,但也可能以不同的方式调用此函数,例如,如果在某个地方将其指定为onclick函数:

someElement.onclick=pg.myfunc

在这种情况下,它将是某个元素的属性

正如其他人所说,如果“this”是DOM元素,那么应该使用parentNode而不是parentElement,因为后者是非标准的

<div id="parent">
  <span id="child">
  </span>
</div>