还有其他方法在javascript中引用grandParent对象吗

问题描述 投票:0回答:4

我有以下代码:

var objectParent:{
     child1:{
       test1:function(){},
       test2:function(){}
      },

      child2:{
       demo1:function(){},
       demo2:function(){},
       parent:this  // gives child2
       grandparent: .... // need to reference objectParent here

      }

    }

我们可以使用 this 关键字来引用对象,但是对于大对象或者我的意思是父对象的父对象呢?

现在,我使用 grandparent:objectParent 来引用父对象

还有其他像this选择器这样的方式来引用parentObject吗?

我的编码是不好、好还是更好?

javascript
4个回答
10
投票

如果您的所有对象都有一个

parent
属性来引用其父对象,那么可以使用
object.parent.parent
获取祖父母。


2
投票

目前还不清楚你想做什么。

如果您有一个元素引用

elem
,那么您可以使用
elem.parentNode
获取其父元素。您可以通过
elem.parentNode.parentNode
等找到父母的父母(例如祖父母)。

如果这不是您想要做的,请更详细地解释祖父母对象的含义。


如果您根本不讨论 DOM 引用,而是询问普通 javascript 中的嵌套对象,那么 javascript 不包含任何方法来获取您所在的父对象。您必须在子对象上创建一个属性,并在构造对象后根据需要设置它(您也不能使用静态声明来设置它)。


2
投票

我必须做

div.parentElement.parentElement
才能实现它。

查看要访问的内容的一种方法是将

div.__proto__
记录到控制台,该控制台会显示一长串可以调用的属性和方法。


0
投票

你只需执行

div.offsetParent
,你就会得到 div 的祖父母。

© www.soinside.com 2019 - 2024. All rights reserved.