JS获取标签方法及兼容处理

  1. document.getElementById('Id名');             // 所有浏览器
  2. document.getElementsByTagName('标签名');        // 所有浏览器
  3. document.getElementsByName('name');          // 所有浏览器
  4. document.getElementsByClassName('类名');      // 除ie9以下,均支持

如需通过类名获取标签,并兼容所有浏览器,则需做兼容处理:

 

 1 /*
 2  * 功能: 通过类名获取一定范围内的标签数组
 3  * 参数: 第一个参数表示获取的范围,若在整个文档搜索,则传入document; 第二个参数表示想要获取标签的类名
 4  * 返回值: 第一个参数里的类名为第二个参数的标签数组
 5  */
 6 function getElementsByClass(element, classStr) {
 7 
 8     if(element.getElementsByClassName) {    // 如果浏览器有getElementsByClassName的方法,则直接使用
 9         return element.getElementsByClassName(classStr);    
10     } else {                // 否则先查找标签中类名为className的标签
11 
12         var elements = element.getElementsByTagName('*'),
13             arr = [],        // 存放类名为className的标签
14             len = elements.length;
15 
16         for (var i = 0; i < len; i++) {
17 
18             if (elements[i].className == classStr) {    // 如果为所给类名,则放入数组
19                 arr.push(elements[i]);
20             }
21         };
22 
23         return arr;
24     }
25 }

 

posted @ 2017-07-20 16:10  cat糯米团  阅读(246)  评论(0编辑  收藏  举报