原生js获取元素的class属性(获取class的所有元素)以及改变或添加calssName
2015-01-24 10:02
796 查看
今天在工作中,用到了设置className,因此查阅了一下资料,总结一下。
一、如何用原生js获取class属性
元素JS实现方法:
用这个函数来获取就很简单了只需要var d = $class("dom");
这个函数的意思是:
var odiv = document.getElementsByTagName("*");
这句意思是获取页面中所有的DOM元素
二、js改变或添加className
一、如何用原生js获取class属性
<div class = "dom'> </div>
元素JS实现方法:
function $class(domclass) { var odiv = document.getElementsByTagName("*"); var aResult = []; //定义一个空数组,用来存放与目标className相同的元素 for(var i = 0; i<odiv.length; i++) {//这个是遍历页面中所有元素然后拿他们的class进行对比。如果和我们传进来的domclass这个参数一样就把他放进数组 aResult中。 if(odiv[i].className == domclass) { aResult.push(oDiv[i]); //获取到的元素推进数组中 } return aResult; //返回这个放进了domclass元素的数组 } } window.onload = function(){ alert($class('boom').length); //获取这些元素的个数 alert($class('boom')[0].className); //获取这些元素的第一个元素的className,其实都是一样的className. }
用这个函数来获取就很简单了只需要var d = $class("dom");
这个函数的意思是:
var odiv = document.getElementsByTagName("*");
这句意思是获取页面中所有的DOM元素
二、js改变或添加className
<style type="text/css"> .newDiv { font-weight: bold; } </style>
<script> function clk() { var parent = document.getElementById("parent"); // parent.className = parent.className + " newDiv"; //添加classname parent.className = " newDiv"; //改变classname } </script> </head> <body> <input type="button" value="click" onclick="clk();"/> <div id="parent" class="google"> <div >child</div> </div> </body>
相关文章推荐
- JQ获取指定class下面的子元素,并加属性以及JQ追加子元素的方法
- jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性
- 原生JS里获取class属性
- js 获取class的元素的方法 以及创建方法getElementsByClassName
- 给不支持classList的浏览器(ie9以及以下等)的元素添加classList属性
- JS中获取元素位置以及宽高的各种属性整理
- js利用for in循环获取 一个对象的所有属性以及值的实例
- 获取元素,动态添加、删除元素以及getElementByTagName、和getElementByClassName)的用法
- js原生获取元素的css属性
- js获取class的所有元素
- js 如何获取class的元素 以及创建方法getElementsByClassName
- 原生JS获取指定元素下指定子元素(兼容所有浏览器)
- 根据原生JS封装函数,根据传递的选择器查找对应的元素以及解决getElementsByClassName() 兼容问题
- js获取所有有class属性为test的节点
- [置顶] JS原生获取对象的所有属性-函数包装
- jQuery1.9为动态添加元素绑定事件以及获取和操作checkbox的选择属性11
- Hbuilder MUI用原生js添加或移除class属性
- js根据class属性获取所有标签
- 原生JS获取元素css属性