私はバベルでes6コードを使用するプロジェクトに取り組んでいます。ie11 Element.children polyfill
let result= xmlDocument.querySelector("xmlNodeSelector");
for (let child of result.children) { /* do something */ }
それは子供がいないプロパティので、IE11で作業doens't問題: 私は、次のコードを使用します。
私は、次のポリフィルを作成するが、それは助けていませんでした:
if(Element.prototype.hasOwnProperty('children')){
return;
}
Object.defineProperty(Element.prototype, 'children', {
get: function(){
let children = new HTMLCollection();
for(let i=0; i < this.childNodes.length; i++){
let item = this.childNodes[i];
if(item.nodeName !== '#text'){
children.push(item);
}
}
return children;
}
});
私はIE11をデバッグするとき、私はプロトタイプは要素ですが、プロパティが追加されていない見ることができます。加えて、使用する場合:
selectorResult instanceof Element
selectorResult instanceof Node
私は両方でfalseになります。
現時点では、私が好むプロトタイプを追加するのではなく、子供を抽出する方法を使用します。
提案がありますか?
事前
あなたは '<>'ボタンをクリックして、[MCVE] – mplungjan
は前に多くのコードを追加して追加してくださいすることができため...ループ –
IE11の子要素を持ちますが、html要素のみです。これは、あなたがpolyfillが役に立たない理由です。 – Arnial