首頁 > web前端 > js教程 > 如何讓 document.getElementsByClassName 在 Internet Explorer 中運作?

如何讓 document.getElementsByClassName 在 Internet Explorer 中運作?

DDD
發布: 2024-11-06 00:45:02
原創
908 人瀏覽過

How to Make document.getElementsByClassName Work in Internet Explorer?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板