封装getByClass
方法一:(普通版),获取单一的class:
function getByClass(oParent, sClass) {
var aResult = [];
var aEle = oParent.getElementsByTagName('*');
for (var i = 0; i < aEle.length; i++) {
// 当className相等时添加到数组中
// aEle[i].className.search(sClass)!=-1
// aEle[i].className.indexof(sClass)!=-1
if (aEle[i].className == sClass) {
aResult.push(aEle[i]);
}
}
return aResult;
};
方法二(多个class获取—>正则表达式):
function getByClass(oParent,sClass) {
var aResult = [];
var aEle = oParent.getElementsByTagName('*');
var re = new RegExp('\\b' + sClass + '\\b', 'i')
for (var i = 0; i < aEle.length; i++) {
if (re.test(aEle[i].className)) {
aResult.push(aEle[i]);
}
}
return aResult;
};
方法三(多个class获取—>数组):
function getByClass(oParent,sClass) {
var aResult = [];
var aEle = oParent.getElementsByTagName('*');
for (var i = 0; i < aEle.length; i++) {
var arr = aEle[i].className.split(/\s+/);
for (var j = 0; j < arr.length; j++) {
if (arr[j] == sClass) {
aResult.push(aEle[i])
}
}
}
return aResult;
};
封装getByClass的更多相关文章
- 封装getByClass(JS获取class的方法封装为一个函数)
获取方法一(普通版) 获取单一的class: function getByClass(oParent, sClass) {//两个形参,第一个对象oParent 第二个样式名class var aEl ...
- JavaScript笔记(一)
JavaScript组成 EcmaScript:核心部分 作为解释器.几乎没有兼容性问题 DOM:Document Object Model,操作HTML页面的入口.有些操作不兼容. BOM:Brow ...
- JavaScript学习总结【5】、JS DOM
1.DOM 简介 当页面加载时,浏览器会创建页面的文档对象模型(Document Object Model).文档对象模型定义访问和处理 HTML 文档的标准方法.DOM 将 HTML 文档呈现为带有 ...
- JS学习之路,菜鸟总结的注意事项及错误更正
JavaScript 是一种面向对象的动态语言,它的语法来源于 Java 和 C,所以这两种语言的许多语法特性同样适 用于 JavaScript.需要注意的一个主要区别是 JavaScript 不支持 ...
- javascript教程2:---DOM操作
1.DOM 简介 当页面加载时,浏览器会创建页面的文档对象模型(Document Object Model).文档对象模型定义访问和处理 HTML 文档的标准方法.DOM 将 HTML 文档呈现为带有 ...
- 积累js里有用的函数库
一.兼容地获取非行间样式(兼容火狐,ie,chrome) function getStyle(obj,name) { if(obj.currentStyle){ return obj.currentS ...
- js getByClass函数封装
function getByClass(oParent, sClass) { var aEle=oParent.getElementsByTagName('*'); var aResult=[]; v ...
- js 简单getByClass得封装
function getByClass(oParent,sClass){ var elems = oParent.getElementsByTagName("*"); var ar ...
- 封装一些常用的js工具函数-不定时更新(希望大家积极留言,反馈bug^_^)
/*华丽------------------------------------------------------------------------------------------------ ...
随机推荐
- Velocity语法大全
1\ 参考地址:http://www.cnblogs.com/codingsilence/archive/2011/03/29/2146580.html
- 一步一图:从SQLSERVER2005中导出insert语句
1.为什么要导出insert语句,我电脑装的是SQL Server Express免费版的,服务器上装的是正式版,在服务器上备份的数据库文件在本机上还原的时候 因为版本不一样,总是不成功.如果能直接使 ...
- javaSE第十二天
第十二天 64 1. Scanner的使用(了解) 64 (1)在JDK5以后出现的用于键盘录入数据的类. 64 (2)构造方法: 64 (4)要掌握的两个方法 65 ( ...
- C\C++ 框架和库整理(转)
[本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语 ...
- 基本的Web控件三
基本的Web控件用法一 ListBox控件 页面布局: <div> <h1>ListBox控件</h1> 学生列表: <br/> <asp:Lis ...
- State
#include <iostream> using namespace std; #define DESTROY_POINTER(ptr) if (ptr) { delete ptr; p ...
- zencart安装第三步出现空白
问题描述:在安装zencart时,在第三步同意协议,然后点击下一步时,页面经过漫长的等待后就显示空白. 解决方法:打开php.ini,将max_execution_time = 30 -> ma ...
- (六)、nodejs中的express框架获取http参数
express获取参数方法: 一.通过req.params app.get('/user/:id', function(req, res){ res.send('user ' + req.params ...
- PhpStrom 配置Xdebug
1 到 http://xdebug.org/download.php下载xdebug.注意找到自己对应的php版本.或者可以通过 http://xdebug.org/wizard.php页面,将php ...
- Android sqlite3工具的使用
sqlite3 <数据库名称> 进入数据库操作模式 eg: sqlite3 contacts.db .tables 查看所有的表 eg: .table .schema 查看查看库中所有表的 ...