检查自定义元素原型是否来自特定原型

时间:2014-09-24 18:38:14

标签: javascript custom-element

我按如下方式创建自定义元素:

var myElementProto = Object.create(HTMLElement.prototype);
document.registerElement('my-element', myElementProto);

基于这个元素,我将创建一些其他元素,这些元素将继承我在此元素上定义的所有方法和属性,如下所示:

var myNewElementProto = Object.create(myElementProto);
document.registerElement('my-newElement', myNewElementProto);

我想要做的是有一些标准的方法,这些元素在DOM中相互交互,但我不确定识别所有其他定义元素的最佳方法是什么。有没有办法让我检查一个给定元素是否有一个原型是myElementProto的后代而不只是检查它是否具有我在myElementProto定义的某些属性?这种方法似乎可行,但如果这些属性最终被更改/删除,可能会导致问题,所以我宁愿避免它。

1 个答案:

答案 0 :(得分:1)

如果元素原型是myElementProto的后代,则为true:

var isDescendant = Object.getPrototypeOf( element ) instanceof myElementProto;