如何實現瀏覽器相容版的element.children
阿新 • • 發佈:2019-01-08
element.children這個獲取節點子節點的方法支援ie9及以上版本,為了能夠相容低版本的ie,可參考一下的程式碼實現相容,具體的參考資料是MDN上的實現方法:
// Overwrites native 'children' prototype.
// Adds Document & DocumentFragment support for IE9 & Safari.
// Returns array instead of HTMLCollection.
(function(constructor) {
if (constructor &&
constructor.prototype &&
constructor.prototype.children == null ) {
Object.defineProperty(constructor.prototype, 'children', {
get: function() {
var i = 0, node, nodes = this.childNodes, children = [];
while (node = nodes[i++]) {
if (node.nodeType === 1) {
children.push(node);
}
}
return children;
}
});
}
})(window.Node || window.Element);