JS子对象如何访问父对象

发布于 2021-12-05 06:14:07 字数 1113 浏览 903 评论 4

我遇到的问题是,当在一个对象里创建了一个子对象时,如何建立上下级关系,子对象如何访问父对象?演示代码是两层结构,如果是三层又如何做?

var Element=new function(parent=this){
        var eid="",obj,etarname
        //返回指定id的element
        this.parent=parent
        this.name="Element"
        this.id=function(id){return document.getElementById(id)}
        //返回指定标签名的elements
        this.tagName=function(tagName){return document.getElementsByTagName(tagName)}
        this.create=new function(parent=this){
                //创建并返回指定标签名的elements
                this.parent=parent
                this.name="create"
                this.link=function(parent,href,id){
                    var o=document.createElement("link");
                    o.rel="stylesheet"
                    o.style.type="text/css";
                    o.href=href;
                    //o.id=id
                    parent.appendChild(o);
                    alert(this.parent.name)
                    return o;
                }
        }
        //删除指定标签
        this.remove=function(id){}
    }



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

恋你朝朝暮暮 2021-12-06 02:17:03

请问javascript内置对象document和form的父子关系是类似与你这种写法吗,如果类似为什么有的时候document可以省略不写

百思不得你姐 2021-12-05 20:06:36

对象在初始化时,属性已经被赋值,为了能够得到上级对象,因此只能这么修改

var test=new function (){
 
    var self=this
    this.Name="test"
    this.subTest=new function(parent=self){
       this.Name="test1"
       this.parent=this
       this.PName=function(){return parent.Name}
   }
   this.subTest.parent=this
}
 
alert(test.subTest.PName())

夜无邪 2021-12-05 17:38:16

突然发现,竟然只有FF支持,IE和谷歌竟然不支持:

var test=new function (){

    var self=this
    this.Name="test"
    this.subTest=new function(parent=self){
       this.Name="test1"
       this.PName=parent.Name
   }
}

alert(test.subTest.PName)

浮生未歇 2021-12-05 13:37:57

哈哈

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文