【JavaScript节点查找方法getElementsByClassName兼容性】为了保证JavaScript节点查找方法getElementsByClassName的兼容性,重写getElementsByClassName方法,mark一下:
var getElementsByClassName = function (opts) {
var searchClass = opts.searchClass;
var node = opts.node || document;
var tag = opts.tag || '*';
var result = [];
if(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;
}
} 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)) {
// 检测正则表达式
result[j] = els[i];
j++;
}
}
}return result;
};
推荐阅读
- JavaScript|web前端入门到实战(好用的Js图表库)
- 接口访问加密方式
- 实用技术|Chrome 技术篇-常用web调试手法(清除缓存并硬性重新加载)
- 有关easyUI的拖动操作中droppable,draggable用法例子
- web前端|CSS科技感四角边框
- ColorBox 演示和说明/API
- SUI 列表 底部无限滚动
- js把时间戳转化为时间
- js jq获取标签的各种方式整理
- WEB前端|用HTML5canvas绘制一个圆环形的进度表示