如何在构造函数中创建一个简单的DOM元素,并在调用时将其附加到元素中
How to create a simple DOM element within a constructor and append it to an element on invocation
注释应该是不言自明的。我只想在构造函数中创建一个元素,并在用它创建对象时将其附加到DOM中
<div id="app">
</div>
Javascript
function DomItem(name,buttonName,button){
if(typeof(this.button)==='undefined') {
this.button = document.createElement('div');
};
this.buttonName = buttonName;
this.button.className = buttonName;
this.button.id = name +"_ " +buttonName;
var app = document.getElementById("app"); //Works!
console.log(app); // Works!
app.appendChild(button); // Problem ~~~~~~~~~~~~~~~
};
osc = new DomItem('osc','button');
DomItem
构造函数中的button
是undefined
,因为您没有传入第三个button
参数。任何未传递的命名参数都将被分配值undefined
。
osc = new DomItem('osc','button'/*, button parameter missing*/);
使用this.button
引用在构造函数中创建的按钮。
app.appendChild(this.button);
请注意,下面代码中的this.button
并没有引用第三个button
参数,而是引用了this
的属性button
,在调用构造函数时,该属性始终是未定义的。
if(typeof this.button ==='undefined') {
this.button = document.createElement('div');
}
相关文章:
- 从不是wicket组件的元素调用wicket
- Javascript 从 html 元素调用函数
- 使用 jQuery 对动态创建的元素调用自定义函数
- 从附加的元素调用javascript
- JS脚本由1个元素调用,而不是由其他3个元素调用
- 对动态添加的元素调用函数
- 如何为适当的元素调用 js
- 如何在 Meteor.js 中对包含在 if 语句中的元素调用函数
- .mousedown()只为每个元素调用一次
- 对类选择的元素数组使用FOR循环,并对每个元素调用函数
- 根据数组的元素调用函数
- 当类被从子元素调用的javascript更改时,CSS转换不起作用
- 为禁用的元素调用函数
- 对动态添加的html元素调用jQuery方法
- 从输入元素调用javascript
- 对同一元素调用Mustache两次失败
- 如何为多个输入元素调用日期范围选择器
- 我如何使那些由于附近的其他元素调用$. fadein()而移动的元素产生动画?
- 对象元素调用函数
- 如何为元素调用click()