getElementsByClassName () 호환성 해결

1567 단어


getElementsByClassName()  



  myReady(function(){
    var myUl2 = document.getElementById("myUl2");
    var r = getElementsByClassName({
      searchClass: "light dark",
      node: myUl2
    });
    console.log(r[0].innerHTML);
  });




  • 1
  • 2
  • 3
  • 1
  • second
  • 3

getElementsByClassName.js
var getElementsByClassName = function(opts) {var searchClass=opts.searchClass;//찾을 클래스 이름 저장var node=opts.node|document;/찾을 범위 저장var tag =opts.tag |';//일정한 범위 내에서 찾을 탭 var result =[];//브라우저 지출이 getElementsByClassName 방법을 지원하지 않는다고 판단할 경우(document.getElementsByClassName){//브라우저가 var nodes = node.getElementsByClassName(searchClass);if(tag!=="") {for(var i = 0;node = nodes[i++];){ if (node.tagName === tag.toUpperCase()) { result.push(node); } } } else { result = nodes; } return result; } else {//IE8 이하의 브라우저를 사용하면 이 속성을 지원할 수 있습니다 var els = node.getelementsByTagName(tag); var elsLen = els.length; var i, j; var pattern = new RegExp("(^|\s) + searchClass +"(\s|$)"), for (i = 0, j = 0, i < elsLen; i+) {if(pattern.test(els[i].className) {//정규 표현식 검색 결과 t[j] =els[i];j++;}return result; } }

좋은 웹페이지 즐겨찾기