document.getElementsByClassName 與Internet Explorer 的兼容性
document.getElementsByClassName 方法提供了一種檢索具有特定方法類別的元素的便捷方法。但是,它面臨與 Internet Explorer (IE) 的兼容性問題。
Jonathan Snook 的解決方案
解決此問題的常見方法是使用 Jonathan Snook 的自訂函數 getElementsByClassName 。此函數利用正規表示式來搜尋具有所需類別名稱的元素。
但是,由於呼叫不正確,IE 仍然可能會遇到此解決方案的錯誤。函數應如下呼叫:
function getElementsByClassName(node, classname) {...} tabs = getElementsByClassName(document.body, 'tab');
而不是:
document.getElementsByClassName(document.body, 'tab');
其他相容選項
如果支援IE8 以上版本就足夠了,你可以為document.getElementsByClassName 實現以下polyfill:
if (!document.getElementsByClassName) { document.getElementsByClassName = function (className) { return this.querySelectorAll('.' + className); }; Element.prototype.getElementsByClassName = document.getElementsByClassName; } tabs = document.getElementsByClassName('tab');
結論
透過調整Jonathan Snook函數的呼叫或使用您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill,您提供的polyfill可以透過IE 中的document.getElementsByClassName 克服相容性問題。
以上是如何讓 document.getElementsByClassName 在 Internet Explorer 中運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!