Просмотр полной версии : Подмена родительского класса (мож кто осилет)
kichSman
30.06.2013, 19:36
Вопрос скорее теоретический, суть которого в следующем.
Есть созданный div элемент, который, соответственно, потомок HTMLDivElement и есть класс Test
Можно ли каким либо костылем сделать так, чтоб при проверки наследования у DIV элемента в цепочке родителей был Test
Проще говоря:
var div = document.querySelector('div'),
Test;
Test = function(){};
Test.prototype = {};
div instanceof Test //true, возможно ли?
Test.prototype = HTMLDivElement.prototype;
kichSman
30.06.2013, 21:32
Test.prototype = HTMLDivElement.prototype;
Как раз суть вопроса в том, чтобы включить объект в цепочку родителей div-элемента, который уже запилен в DOM, чтобы у самого div-а спросить, а не у объекта.
Если на пальцах, то в некоторых библиотеках к элементам приписывают дополнительное собственное свойство и ориентируются на него, принадлежит ли этот элемент к классу или нет (например, когда присваивают методы и свойства собственного UI).
Но у меня возник вопрос, а можно ли сделать это нативно, т.е. через прототипы и собственно instanceof
Без указания прототипа не знаю. :no:
dmitriymar
30.06.2013, 23:00
Как раз суть вопроса в том, чтобы включить объект в цепочку родителей div-элемента, который уже запилен в DOM, чтобы у самого div-а спросить, а не у объекта.
такое уже давно не курят :)
function A(){
this.с = 40;
}
A.prototype.b = 30;
function B(){
this.a = 20;
}
B.prototype = A.prototype;
A.prototype = new B();
var a = new A();
alert( a instanceof B);
alert( a instanceof A);
alert(a.a);
alert(a.b);
alert(a.с);
kichSman
01.07.2013, 23:55
Нет, речь опять таки не про наследование объектов.
В общем, порасмыслев мозгами и несколькими изощрениями, пришел к выводу, что через наследование BOM загадить DOMом не выйдет.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot