可以通过appendChild()添加哪些JS对象?

时间:2011-01-06 03:32:03

标签: javascript dom dynamic dhtml extend

我正在尝试扩展DOM。我从Div元素“子类化”:

var Subclass = function() {}
Subclass.prototype = document.createElement('div');
Subclass.constructor = Subclass;

var obj = new Subclass();
var obj.innerHTML = 'test';
document.body.appendChild(obj); // Exception: Node cannot be inserted ... point in the hierarchy

因此,如果对象的原型是DOM对象不起作用,那么对象要插入DOM的要求是什么?

3 个答案:

答案 0 :(得分:0)

这实际上适用于Firefox ..无论如何,排序。在执行新的Subclass时,它实际上不会创建新元素,但会继续使用相同的。

在任何情况下,我都会说DOM对象本身是“特殊的”,只有它们才能被追加到孩子身上。

答案 1 :(得分:0)

答案 2 :(得分:0)

如果你只想扩展div元素,那么可以通过

来实现
HTMLDivElement.prototype.newFunction = function () { //'this' will get that div dom }

然后它将只扩展div元素..适用于FF,不了解其他浏览器。

希望这对你有所帮助。