Javascript 我有一个问题,有两个类在页面上创建元素并显示它
所以我创建了两个类,第一个是create元素:Javascript 我有一个问题,有两个类在页面上创建元素并显示它,javascript,Javascript,所以我创建了两个类,第一个是create元素: 类加速{ 构造函数(值、元素类型、元素样式){ this.element=document.createElement(elementType); this.element.innerHTML=值; this.element.style=elementStyle; } 显示(displayTo){ document.getElementsByClassName(displayTo).appendChild(元素); } } 第二个是创建mob和d
类加速{
构造函数(值、元素类型、元素样式){
this.element=document.createElement(elementType);
this.element.innerHTML=值;
this.element.style=elementStyle;
}
显示(displayTo){
document.getElementsByClassName(displayTo).appendChild(元素);
}
}
第二个是创建mob和diplay以:
class-Mob{
建造师(级别){
this.mobLvl=级别;
}
显示器(elementClass){
ele=新的CElement(this.mobLvl+“
”,'p',“颜色:红色;”;
元素显示(元素ID);
}
}
我在网上检查了我的代码的语法错误,但我没有任何?????
那么,为什么我打电话时它不起作用:
var mob=新mob(1,“div”,“颜色:红色;”);
mob.display(“someClassName”);
看起来您忘记了CElement.display函数中的。
。这使得元素变量是未定义的,因此它不会向文档追加任何内容。您的代码中有几个问题:
display()
函数中忘记了这个
getElementsByClassName()
返回一个数组,因此不能直接使用appendChild()
,必须在数组上循环或使用另一个选择器,例如querySelector()
display()
函数中未定义ele
elementClass
作为display()
函数的参数,但在函数内部使用elementId
类加速{
构造函数(值、元素类型、元素样式){
this.element=document.createElement(elementType);
this.element.innerHTML=值;
this.element.style=elementStyle;
}
显示(displayTo){
document.querySelector(displayTo).appendChild(this.element);
}
}
阶级暴徒{
建造师(级别){
this.mobLvl=级别;
}
显示器(elementClass){
var ele=new CElement(this.mobLvl+“
”,“p',“color:red;”;
元素显示(元素类);
}
}
var mob=新mob(1,“div”,“颜色:红色;”);
mob.display(“.someClassName”)代码>
这是问题之一,但还有一点:)