JS——DOM操作(className属性)

简单介绍className:

className 属性:设置或返回元素的 class 属性

看下面一个简单的例子(给className设置样式变化案例),效果如下图:

代码如下:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8     <script>
 9         window.onload=function(){
10             var oUl=document.getElementById(‘ul‘);
11             var aLi=document.getElementsByTagName(‘li‘);    //获取所有的li元素
12
13             for(var i=0;i<aLi.length;i++){                  //循环
14                 if(aLi[i].className==‘change‘){             //做判断
15                     aLi[i].style.background=‘yellow‘;       //改变元素样式
16                 }
17             }
18         }
19     </script>
20 </head>
21 <body>
22     <ul id="ul">
23         <li></li>
24         <li class=‘change‘></li>
25         <li></li>
26         <li class=‘change‘></li>
27         <li></li>
28         <li class=‘change‘></li>
29         <li></li>
30     </ul>
31 </html>

代码解释:

首先需要获取全部的li元素(第11行代码),接着做个循环(第13行代码),选中所有的li元素,然后进行className的判断(第14行代码),最后符合条件的元素进行样式的变化(第15行代码)

以上,看起来很简单,但如果需要对很多class属性进行不同的样式变化等操作时,用此方法就会浪费时间、代码实现效率低,代码量大

所以,用下面(封装成函数)这种方法,来提高代码效率!!

代码如下图:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8     <script>
 9         function getClass(oParent,sClass){                  //参数1:oParent———从哪个父级下选取元素  参数2:sClass———需要哪个class属性
10             var aEle=oParent.getElementsByTagName(‘*‘);     //获取父级下所有的元素
11             var aResult=[];                                 //创建一个数组变量,存放所有被选出来的元素
12
13             for(var i=0;i<aEle.length;i++){
14                 if(aEle[i].className==sClass){              //判断class属性相同的元素
15                     aResult.push(aEle[i]);                  //把符合条件的元素,存进aResult中
16                 }
17             }
18             return aResult;                                 //即:选取出一组符合条件的元素
19         }
20
21         window.onload=function(){
22             var oUl=document.getElementById(‘ul‘);
23             var aChange=getClass(oUl,‘change‘);             //调用getClass函数,选取参数1:父级ul元素和参数2:名为‘change’的class属性
24
25             for(var i=0;i<aChange.length;i++){              //对所选的元素,进行样式的变化
26                 aChange[i].style.background=‘red‘
27             }
28         }
29     </script>
30 </head>
31 <body>
32     <ul id="ul">
33         <li></li>
34         <li class=‘change‘></li>
35         <li></li>
36         <li class=‘change‘></li>
37         <li></li>
38         <li class=‘change‘></li>
39         <li></li>
40     </ul>
41 </html>

解释代码:

第9行代码:命名一个叫getClass的封装函数,传入两个参数(参数1:oParent———从哪个父级下选取元素 参数2:sClass———需要哪个class属性);

第10行代码:在封装函数中,获取参数一父级元素下的所有元素;

第13行代码:循环父级元素下的所有元素;

第14行代码:判断class属性与传入的第二个参数相同的元素;

第11行代码:创建一个数组变量,存放所有被选出来的元素;

第15行代码:因为循环做出的判断结果不一定只有一个class属性,所以需要把符合条件的元素,存进aResult数组中;

第18行代码:循环结束,返回符合条件的一组元素(aResult数组);

第23行代码:调用getClass函数,选取参数1:父级ul元素 和 参数2:名为‘change’的class属性

第25-26行代码:对所选的元素,进行样式的变化操作

原文地址:https://www.cnblogs.com/ytraister/p/10940419.html

时间: 2025-01-16 23:23:06

JS——DOM操作(className属性)的相关文章

JS DOM操作(创建、遍历、获取、操作、删除节点)

创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=devic

JS——DOM操作(操纵元素属性【getAttribute、setAttribute...】)

常见元素操作: (1):oDiv.style.display='block'; (2):oDiv.style['display']='block'; (3):DOM方式 [看下面列举↓↓↓↓] DOM方式操作元素属性 1>获取:getAttribute(' 名称 ') 2>设置:setAttribute(' 名称 ',' 值 ') 3>删除:removeAttribute(' 名称 ') 详细看如下代码: 1 <!DOCTYPE html> 2 <html lang=&

js——DOM操作(一)

DOM:Document Object Model  文档对象模型 文档:html页面 文档对象:页面中元素 文档对象模型:定义  为了能够让程序(js)去操作页面中的元素 DOM会把文档看作是一棵树,同时定义了很多方法来操作这颗树中的每一个元素(节点) DOM节点 如: getElementById getElementByTagName document document.body ... //*************************************** childNode

Js DOM 操作

HTML DOM对标签属性的操作 1.获取属性值 对象.getAttribute("属性名") 对象.属性名 2.设置属性 对象.setAttribute("属性名","属性值") 对象.属性名 = "属性值" 3.删除属性 对象.remove("属性名") 对象.属性 = "" ? 以上操作不包含对class的操作 如果要对class进行操作 那么class需要写成className

JS DOM操作(二) Window.docunment对象——操作属性

属性:是对象的性质与对象之间关系的统称.HTML中标签可以拥有属性,属性为 HTML 元素提供附加信. 属性总是以名称/值对的形式出现,比如:name="value". 属性值始终被包括在引号内.双引号是最常用的,在某些个别的情况下,比如属性值本身就含有双引号,必须使用单引号, 属性总是在 HTML 元素的开始标签中规定. 属性实例 HTML 链接由 <a> 标签定义.链接的地址在 href 属性中指定: < a href="http://www.baidu

JS DOM操作

DOM --文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法. 在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM. DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言.. Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等, Dom技术使得页面的交互性大大地增强. var  v  =  document.getEl

JS DOM操作(二) Window.docunment 对象操作

一 对元素的定位 在 js 中可以利用 id.class.name.标签名进行元素的定位 id.class  用在客户端 name  用在服务端 用 id 定位                  --  根据 id 最多只能找一个       var  a  =  document.getElementById( "id 名" )                                             -- 将找到的变了放到变量 a 中 用 class 定位      

JS——DOM操作(childNodes、nodeType和children区别与用法)

DOM中节点的类型 DOM中一共有12中类型.但是我们常用的只有几种. 首先我们了解下DOM中一般常见的节点类型有哪些? 1.元素节点 DOM中的原子都是元素节点,比如<body><table><div>等等. 如果把Web上的文档比作一座大厦,则元素就是构成这块大厦的砖石.一个文档是由N个元素组成的.元素可包含其他元素. 2.文本节点 任意的文字.空格.换行.空白行都算是文本节点. 3.属性节点 属性节点,故名思议就是其他节点的属性.例如所有的元素都有title属性,

JavaScrip——DOM操作(属性操作)

Attribute a.setAttribute("属性名","属性值")——设置属性 a.getSttribute("属性名")——获取属性 a.removeAttribute("属性名")——移除属性 举例说明: 例子1:做一个问题,如果输入的答案正确则弹出正确,错误弹出错误: 这里在text里面写了一个daan属性,里面存了答案的值,点击检查答案的时候cheak输入的内容和答案是否一样: <!DOCTYPE htm