我正在为内部包含 DOM 节点并通过额外功能方法增强的表单输入字段制作自定义类包装器。
我的问题是是否有与 .toString() 类似的方法用于附加到 DOM,因为我想直接将我的对象插入 DOM 而不是调用其他方法
在其他作品中,这是我所拥有的示例:
function A () {
this.element = documenet.createElement('input');
// blah blah logic
this.toString = function () {
return '<input type="'+this.element.type+'" value="'+this.element.value+'" />';
}
// a similar method to this i'ld like
this.toString = function () {
return this.element;
}
}
这样我就可以按如下方式使用它:
var a = new A();
// this works as it calls .toString(), but it is a hack and it is not pretty
document.body.innerHTML += a;
// this is what i'd want to be able to do:
document.body.appendChild(a);
// this is what **I AM REALLY TRYING TO AVOID:**
document.body.appendCHild(a.toElement());
您不能简单地从 DOM 节点继承,因为它不是公共类
我试过看其他问题,但似乎没有答案......任何想法都会受到高度欢迎