var myElement = function(){
this.element = document.createElement('div');
}
var myNewElement = new myElement;
console.log(myNewElement instanceof myElement); //return true
var myDiv = myNewElement.element;
console.log(myDiv instanceof myElement); //return false
是否有可能确定myDiv是否已从myElement函数创建?
答案 0 :(得分:0)
与@Felix所说的相同,
这样的事情如何using data attributes:
var myElement = function(){
this.element = document.createElement('div');
this.element.dataset.instanceof = myElement;
//document.body.appendChild(this.element);
}
var myNewElement = new myElement;
console.log(myNewElement instanceof myElement); //return true
var myDiv = myNewElement.element;
console.log(myDiv.dataset.instanceof == myElement); //return true
这会导致HTML元素看起来像这样(如果appendChild()
取消注释):
<div data-instanceof="function (){
this.element = document.createElement('div');
this.element.dataset.instanceof = myElement;
document.body.appendChild(this.element);
}"></div>
或者不是分配整个函数,而是使用这样的字符串:
var myElement = function(){
this.element = document.createElement('div');
this.element.dataset.instanceof = "myElement";
}
var myNewElement = new myElement;
console.log(myNewElement instanceof myElement); //true
var myDiv = myNewElement.element;
console.log(myDiv.dataset.instanceof == "myElement"); //true