1

我正在创建一个自定义元素,如下所示:

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

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

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

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

4

1 回答 1

1

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

var isDescendant = Object.getPrototypeOf( element ) instanceof myElementProto;
于 2014-09-25T18:35:16.600 回答