JS获取标签方法及兼容处理
- document.getElementById('Id名'); // 所有浏览器
- document.getElementsByTagName('标签名'); // 所有浏览器
- document.getElementsByName('name'); // 所有浏览器
- 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 }