我正在尝试扩展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的要求是什么?
答案 0 :(得分:0)
这实际上适用于Firefox ..无论如何,排序。在执行新的Subclass时,它实际上不会创建新元素,但会继续使用相同的。
在任何情况下,我都会说DOM对象本身是“特殊的”,只有它们才能被追加到孩子身上。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果你只想扩展div元素,那么可以通过
来实现HTMLDivElement.prototype.newFunction = function () { //'this' will get that div dom }
然后它将只扩展div元素..适用于FF,不了解其他浏览器。
希望这对你有所帮助。