getElementsByClassName() 的跨瀏覽器相容性
IE6、IE7 和IE8 無法使用getElementsByClassName() 方法,這導致了嘗試根據元素的類別屬性選擇元素時面臨挑戰。但是,有一些解決方案可以克服此限制,而無需依賴 jQuery 等第三方程式庫。
在舊版Internet Explorer 中模擬getElementsByClassName()
模仿功能IE6-8中的getElementsByClassName(),可以實作以下腳本:
<code class="javascript">document.getElementsByClassName = function(cl) { var retnode = []; var elem = this.getElementsByTagName('*'); for (var i = 0; i < elem.length; i++) { if((' ' + elem[i].className + ' ').indexOf(' ' + cl + ' ') > -1) retnode.push(elem[i]); } return retnode; };</code>
用法:
只需在您的網站上包含該腳本,它就會使用適用於所有主要瀏覽器(包括舊版本的Internet Explorer)的getElementsByClassName() 方法擴充文檔物件。
範例:
<code class="html"><html> <head> <script src="getElementsByClassName.js"></script> ... </head> <body> <div class="red-border"></div> ... var borderDivs = document.getElementsByClassName('red-border'); </body> </html></code>
以上是如何在舊版 Internet Explorer 中模擬 getElementsByClassName()?的詳細內容。更多資訊請關注PHP中文網其他相關文章!