js通過class獲取元素


//此方法可以區分class相同的不同元素(功能相對齊全,理解起來也相對復雜一些)

function getElementsByClassName( parent,tag,className ){

  //獲取所有父節點下的tag元素
  var aEls = parent.getElementsByTagName(tag);
  var arr = [];

  //循環所有tag元素

  for (var i = 0; i < aEls.length; i++) {

    //將tag元素所包含的className集合(這里指一個元素可能包含多個class)拆分成數組,賦值給aClassName
    var aClassName = aEls[i].className.split(' ');

    //遍歷每個tag元素所包含的每個className

    for (var j = 0; j < aClassName.length; j++) {

      //如果符合所選class,添加到arr數組
      if(aClassName[j] == className){
        arr.push(aEls[i]);
        //如果className里面包含'box' 則跳出循環
        break; //防止一個元素出現多次相同的class被添加多次
      }
    };
  };
  return arr;
}

 

//此方法不能區分class相同的不同元素

function getClassName( oParent,oClassName ){
  //獲取父節點下所有子元素
  var aEle = oParent.getElementsByTagName('*');
  var arr = [];

  for (var i = 0; i < aEle.length; i++) {
    if( aEle[i].className == oClassName ){
      arr.push( aEle[i] );
    }
  };
  return arr;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM