2014-09-24 37 views
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上定義的某些屬性?這種方法似乎可行,但如果這些屬性最終被更改/刪除,可能會導致問題,所以我寧願避免它。

+0

看一看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model「確定實例關係「部分 – artm 2014-09-24 18:57:30

回答

1

如果元素的原型是myElementProto的後代是真是假:

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