封装getByClass
function findInArr(n,arr){
for(var i = 0 ;i < arr.length; i++){
if(n == arr[i]){
return true;
}
}
return false;
}
//oParent:父级 sClass:我们要查找的className
function getByClass(oParent,sClass){
//如果浏览器支持JS自带的获取class的方法就是用JS自带的获取方法;
if(oParent.getElementsByClassName){
return oParent.getElementsByClassName(sClass);
}else{ //如果浏览器不支持JS自带的获取class的方法,也就是ie8-
//通过oPraent获取所有的元素;
var aEle = oParent.getElementsByTagName(‘*‘);
var arr = [];
//循环把每个元素身上的class切割一下,切割完成返回一个数组
for(var i = 0; i < aEle.length; i++){
var tmp = aEle[i].className.split(‘ ‘);
//判断切割完成后的数组里面是否包含我们需要找的className;
if(findInArr(sClass,tmp)){
//如果包含的话就添加到arr里面;
arr.push(aEle[i]);
}
}
return arr;//并且返回arr;
}
}
window.onload = function(){
var aBlue = getByClass(document,‘blue‘);
for(var i = 0; i < aBlue.length; i++){
aBlue[i].style.background = ‘red‘;
}
}
封装getByClass
时间: 2024-11-03 21:01:16
封装getByClass的相关文章
【学】正则表达式的一些应用
找出所有数字: var str ='1asdf,s42df,df456sdf'; var re = /\d+/g; // \d数字 console.log(str.match(re)); 校验年龄(18岁到100岁): var re=/^(1[8-9]|[2-9]\d|100)$/ |符号表示或 这里分别用18到19,20到99,以及100进行了分组校验,用|来分割,但是这个符号的优先级很低,所以要把2次或的运算结果都计算出来后再加上^和$ 座机号码验证: 可以有区号,区号0开头,区号可以3位可
js的常见写法技巧
Javascript练习题 正则表达式验证邮箱 摘要: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta
JavaScript笔记(一)
JavaScript组成 EcmaScript:核心部分 作为解释器.几乎没有兼容性问题 DOM:Document Object Model,操作HTML页面的入口.有些操作不兼容. BOM:Browser Object Model,和浏览器相关的操作.完全不兼容. 变量类型 变量本身没有类型,取决于内部存储的是什么类型. 类型转换 强制转换:parseInt(),parseFloat(). 隐式类型转换:==比较,先转换类型再比较:减法运算,只用于数字相减,所以会先转换再计算. 变量作用域 局
JS学习之路,菜鸟总结的注意事项及错误更正
JavaScript 是一种面向对象的动态语言,它的语法来源于 Java 和 C,所以这两种语言的许多语法特性同样适 用于 JavaScript.需要注意的一个主要区别是 JavaScript 不支持类,类这一概念在 JavaScript 通过对象原型 (object prototype)得到延续(有关 ES6 类的内容参考这里Classes).另一个主要区别是 JavaScript 中的 函数也是对象,JavaScript 允许函数在包含可执行代码的同时,能像其他对象一样被传递.1,scrip
tagArr[tagArr.length] = tags[i] 一种非常巧妙的思路
之前我们封装getByClass方法的时候,一般有一步骤是把匹配的元素推进数组中. 比如 aResult.push(obj[i]); 之前的方法代码: getByClass: 1 function $class(domclass){ 2 var obj = document.getElementsByTagName('*'); //获取页面内所有DOM元素 3 var aResult = []; //定义一个空数组,用来存放与目标className相同的元素 4 for(var i=0;i<o
JS 封装函数getByClass(oParent,classn)
通过className调用元素Element function getByClass(oParent,classn) //oParent,classn 为封装函数getByClass()中的两个形式参数 { var aEl=oParent.getElementsByTagName('*'); //因为还不知道调用哪个元素,所以用通配符* var aResult=[]; for(var i=0;i<aEl.length;i++) { if(aEl[i].className==classn
js getByClass函数封装
1 function getByClass(oParent, sClass) 2 { 3 var aEle=oParent.getElementsByTagName('*'); 4 var aResult=[]; 5 var i=0; 6 7 for(i=0;i<aEle.length;i++) 8 { 9 if(aEle[i].className==sClass) 10 { 11 aResult.push(aEle[i]); 12 } 13 } 14 15 return aResult; 16
js 简单getByClass得封装
function getByClass(oParent,sClass){ var elems = oParent.getElementsByTagName("*"); var arr = []; for(var i = 0; i < elems.length; i++ ){ if(elems[i].className == sClass ){ arr.push(elems[i]); } } return arr; }
JS_ECMA基本语法中的几种封装的小函数-2
大家好!今天继续给大家写一下ECMA中的剩下的小函数以及实用的实例: 首先先给大家说一下字符串.数组.数学方法以及json的一点小知识点: 字符串方法: str.length str.charAt(i):取字符串中的某一个; str.indexOf('e');找第一个出现的位置;找不到返回-1; str.lastIndexOf('e'):找最后一个e出现的位置;找不到返回-1; str.toUpperCase();转大写 str.toLowerCase();转小写 str.substring(起