var getElmsByClsName = function(className, results) {
results = results || [];
// 判断浏览器是否支持 getElementsByClassName
if(document.getElementsByClassName) {
// 浏览器支持这个方法
results.push.apply( results,
document.getElementsByClassName(className) );
} else {
// 浏览器不支持
// 实现:通过类名来获取页面中的元素
// 思路:
// 1 通过标签名获取到所有的元素
// 2 循环遍历获取到的所有元素,分别判断当前元素有没有指定的类 // 1 获取到页面中所有的元素
var nodes = document.getElementsByTagName("*");
// 2 遍历
for(var i = 0; i < nodes.length; i++) {
var cNodes = nodes[i];
// 2.1 判断当前元素是否包含 指定的类 className
// 第一种方式:
// 1 获取到当前元素的类名 className/getAttribute("class")
// 2 将获取到的类名 以空格分割 产生一个数组
// ["c1", "c2", "c3"]
// 3 用数组中的每一个元素分别跟className比较
// 4 如果是符合要求的就放到 results 中
var cNodeClsName = cNodes.className;
var clsNames = cNodeClsName.split(" ");
for(var j = 0; j < clsNames.length; j++) {
if(clsNames[j] === className) {
results.push(cNodes);
}
} }
} return results;
};
 

javascript中document.getElementsByClassName兼容性封装方法一的更多相关文章

  1. ie8及其以下浏览器的document.getElementsByClassName兼容性问题

    使用JavaScript访问DOM的一个重大问题是,此过程需要一种通过元素类名称来选择类的类函数,对DOMContentReady,这种类函数的缺失导致开发人员需要自己编写自定义脚本业执行上述任务,许 ...

  2. javascript中document.appendChild和document.body.appendChild的问题

    在IE7中 var conentDiv = document.createElement("div"); document .body .appendChild(conentDiv ...

  3. javascript中document.form[formName][]的意思

    近来重新学习javascript发现还有很多知识点模糊,今天就javascript中的document.forms[formName][inputName]进行说明: <!DOCTYPE htm ...

  4. JavaScript中document.cookie

    “某些 Web 站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为 Cookie.”—— MSIE 帮助.一般来说,Cookies 是 CGI 或类似,比 HTML 高级的文件.程序等创建 ...

  5. javascript中提高代码的封装性

    我出的面试题中,有一条是问如何避免页面引用JS,出现函数.变量重复.冲突的. 从大的方面讲,应该引入javascript的模块化开发,符合AMD规范之类: 从小的方面说,大概就是限定变量和函数的作用域 ...

  6. Javascript中document.execCommand()的用法

    document.execCommand()方法处理Html数据时常用语法格式如下:document.execCommand(sCommand[,交互方式, 动态参数]) 其中:sCommand为指令 ...

  7. javascript中document对象的属性和方法

    document.documentElement; document.firstChild;document.childNodes[0];// 取得对<html>的引用document.b ...

  8. JS开发备忘笔记-- Javascript中document.execCommand()的用法

    document.execCommand()方法处理Html数据时常用语法格式如下:document.execCommand(sCommand[,交互方式, 动态参数]) 其中:sCommand为指令 ...

  9. javascript中常见的函数封装 :判断是否是手机,判断是否是微信,获取url地址?后面的具体参数值,毫秒格式化时间,手机端px、rem尺寸转换等

    // 判断是否是手机function plat_is_mobile(){ var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad ...

随机推荐

  1. MySQL数据库的使用流程,代码解释+Hibernate连接数据库

    数据库的使用流程: 1.注册驱动: 2.用DriverManager.getConnection方法获得连接对象con: A方法:  3.用连接对象的createStatement()方法,获得可以执 ...

  2. 深入jar包:从jar包中读取资源文件

    我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等).在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了.看看 ...

  3. c++ 字符串和数字拼接

    方法一: #include <iostream> #include <string> #include <sstream> using namespace std; ...

  4. js实现图片上传预览功能,使用base64编码来实现

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. python文件操作IO

    模式 描述 r 以只读方式打开文件.文件的指针将会放在文件的开头.这是默认模式. rb 以二进制格式打开一个文件用于只读.文件指针将会放在文件的开头.这是默认模式.一般用于非文本文件如图片等. r+ ...

  6. hibernate在maven中自动生成

    1.构建数据库连接 2.新建maven项目,利用工具生成hibernate相应的类和xml文件 新建pojo包 右击项目 点击Configure Facets 选择hibernate 选择包 选择驱动 ...

  7. Django入门--自定义过滤器与标签

    ---恢复内容开始--- 为了让Django找到自定义的模板过滤器和模板标签,需要进行文件路径配置,配置方式分为APP目录下配置和项目路径下配置两种方式: 1.在APP目录下配置:针对某个应用特定的自 ...

  8. jenkins 自动化部署

    Execute shell Command BUILD_ID=DONTKILLMEif [ ! -d "/usr/jenkins/$JOB_NAME" ]; then mkdir ...

  9. 【hiho一下第二周 】Trie树

    [题目链接]:http://hihocoder.com/problemset/problem/1014 [题意] [题解] 在字典树的域里面加一个信息cnt; 表示这个节点下面,记录有多少个单词; 在 ...

  10. 说说sys_context函数

    select SYS_CONTEXT('USERENV', 'TERMINAL') terminal,        SYS_CONTEXT('USERENV', 'LANGUAGE') langua ...