js通過元素的class屬性獲取元素

antzone發表於2017-04-01

lass屬性是dom最為常用的屬性之一,可以通過它設定元素的樣式屬性。

如果可以通過class屬性獲取元素,那麼將是一種非常便利的手段,當然原生的js也提供了這樣的方法:

[JavaScript] 純文字檢視 複製程式碼
getElementsByClassName

但是此方法不相容低版本的IE瀏覽器,下面就分享一段能夠相容所有瀏覽器的程式碼例項。

此功能在本站的其他章節也介紹過,比如getElementsByClassName()用法詳解一章節。

這裡只是再提供一段程式碼例項,或許有不同的實現思路。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script>
function getClass(node,classname) { 
  if(node.getElementsByClassName) {
    return node.getElementsByClassName(classname);
  } 
  else {
    var elems = node.getElementsByTagName(node),
    defualt = [];
    for (var i = 0; i < elems.length; i++) {
      if(elems<i>.className.indexOf(classname) != -1) {
        defualt[defualt.length] = elems<i>;
      }
    }
    return defualt;
  }
}
window.onload=function(){
  var odiv=document.getElementById('box'),
  elements=getClass(odiv,'antzone');
  elements[0].innerHTML='螞蟻部落';
}
 </script>
</head>
<body>
 <div id="box">
   <div class="antzone">textcss</div>
 </div>
</body>
</html></i></i>

相關文章