如何确定 HTML 元素是使用哪个实例创建的
How to determine with which instance a HTML element has been created?
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 函数创建的?
按照@Felix所说的相同,
使用数据属性进行这样的操作怎么样:
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
相关文章:
- 实例创建(JS)
- 如何基于数组值创建新实例
- 代码挑战:创建一个跟踪对象实例总数的类Foo
- JavaScript:如果现有对象被实例化为具有特定值,如何创建警报
- 用javascript创建另一个对象的实例
- 单击按钮创建多实例jQuery UI对话框
- 如何确定 HTML 元素是使用哪个实例创建的
- 创建一个类,该类使用es6类语法将Function对象创建为实例
- 调用函数和创建函数实例之间的Javascript差异
- setTimeout是否创建函数实例
- 基于分隔符/方括号的实例创建数组
- Ember.js:如何使用模型的单个实例创建路由/控制器
- 从继承的实例创建 JavaScript 基类对象
- 对象的等效实例.创建和原型链
- 这是正常的行为,为每一个Firefox窗口,我的插件的另一个实例创建
- Aurelia自定义元素实例创建
- 为多个实例创建一个jquery代码
- 是否更改构造函数's属性的实例创建后会影响实例吗?如果是,那么如何
- 实例创建
- 烬数据没有为新实例创建id