亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

getElementsByClassName()在IE6、IE7、IE8等舊的Internet

getElementsByClassName()在IE6、IE7、IE8等舊的Internet

慕哥9229398 2019-07-22 10:01:49
getElementsByClassName()在IE6、IE7、IE8等舊的Internet Explorer中不起作用以下代碼:var borderTds = document.getElementsByClassName('leftborder');在InternetExplorer 6、7和8中給出一條錯誤消息:對象不支持此方法。如何在這些瀏覽器中按類選擇元素?我不喜歡使用JQuery。
查看完整描述

3 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

這,這個解也許會有幫助。這是一種習俗getElementsByClassName函數在純javascript中實現,在IE中工作。

從本質上講,這個腳本所做的就是一個地探索所有可能的選項,并挑選出最好的選項。這些備選辦法是:

  1. 土生土長

    document.getElementsByClassName

    功能。
  2. document.evaluate

    函數,它允許計算XPath查詢。
  3. 遍歷DOM樹。

當然,第一個是最好的性能,但后者應該是隨處可見的,包括IE6。

頁面上也有使用示例,如下所示:

getElementsByClassName("col",?"div",?document.getElementById("container"));

因此,該函數允許3個參數:類(必需)、標記名稱(可選,搜索所有未指定的標記)、根元素(可選,文檔(如果沒有指定)。

查看完整回答
反對 回復 2019-07-22
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

IE6、Netscape 6+、Firefox和Opera 7+在頁面中復制以下腳本:

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;};


查看完整回答
反對 回復 2019-07-22
  • 3 回答
  • 0 關注
  • 338 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號