为了账号安全,请及时绑定邮箱和手机立即绑定

如何声明对象方法?

如何声明对象方法?

达令说 2019-03-18 14:36:21
问题描述问题出现的环境背景及自己尝试过哪些方法相关代码<script>     //声明构造函数     function ElementC (elementname,fatherelement,number) {        //传入需要创建的元素名字         this.e = document.createElement(elementname);        //传入需要加入哪个父元素的子元素末尾         this.fe = document.getElementsByTagName(fatherelement);     }    //声明可继承方法,创建元素方法     ElementC.prototype.create = function () {        this.fe.appendChild(this.e);     } onload=function (){    //创建对象     var test = new ElementC("table","body");    //调用创建元素方法     test.create(); }</script>我想创建一个对象,有一个实现最简单的添加元素的方法,不过报错提示没有这个函数这里用用prototype声明,因为我看的视频教程说,这个属性里的方法都是可继承的。还有一点,关于javascript面向对象,原型,继承,什么子类之类讲解比较好的的视频哪里有啊,感谢各位大佬
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

document.getElementsByTagName这个方法返回的是一个集合,题中你写的是body标签,因此它会找到所有的body标签,整合成一个集合,供你使用
因此你将你的代码修改一下

// 在集合中拿第一个元素this.fe = document.getElementsByTagName(fatherelement)[0];

其实在2019年,我更推荐你使用document.querySelector(fatherelement);这个方法获取DOM节点非常非常方便

关于你说的js基础知识,我个人觉得看视频去了解这些基础知识是效率是比较慢的
建议你可以看书了解
推荐两本书 《js高级程序设计》,《你不知道的js上卷》,着重就轻,结合书本和网上资料,MDN等。


查看完整回答
反对 回复 2019-03-18
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

document.getElementsByTagName(fatherelement)返回的是一个HTMLCollection,也就是HTML 元素的集合。appendChild是单个元素的函数。
建议运行程序的时候在错误的地方打断点,搞清楚每运行一行代码,各个变量的值是什么。

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 528 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信