h5的classList对象

H5新增属性classList

h5中新增了一个classList,原生js可以通过它来判断获取dom节点有无某个class。

classList是html元素对象的成员,它的使用非常简单,比如

console.log(document.body.classList); 

目前已知classList API有length,item,add,remove,toggle,contains

length

静态属性。可以获取元素类名的个数,使用方式:

var len = document.body.classList.length;

item( Number )

方法。可以获取元素的类名,接受一个参数,即数字索引。使用方式:

//如果index超出范围,则返回null
var cls = document.body.classList.item(index); 

add( String [, String] )

方法。可以给元素添加类名,就像jquery中的addClass()。使用方式:

document.body.classList.add(‘myclass‘);
//遗憾的是,它一次性只能增加一个类,比如以下方式将会报错
//document.body.classList.add(‘class1 class2‘); 

remove( String [,String] )

方法。可以将元素的类名删除,就像jquery中的removeClass()。和add()方法一样,一次只能删除一个类名。使用方式:

 document.body.classList.remove(‘myclass‘); 

toggle( String [, force] )

方法。可以给元素交替增加类名和删除类名,就像jquery中的toggleClass()。

当只有一个参数时:切换 class value,即如果类存在,则删除它并返回false,如果不存在,则添加它并返回true。

当存在第二个参数时:如果第二个参数的计算结果为true,则添加指定的类值,如果计算结果为false,则删除它。

使用方式:

document.body.classList.toggle(‘myclass‘);  

contains( String )

方法。可以检测判断元素是否包含某个类名,返回false或true。使用方式:

document.body.classList.contains(‘myclass‘); //返回true或者false 

示例

 // div是具有class =“foo bar”的<div>元素的对象引用
    div.classList.remove("foo");
    div.classList.add("anotherclass");

    // 如果visible被设置则删除它,否则添加它
    div.classList.toggle("visible");

    // 添加/删除 visible,取决于测试条件,i小于10
    div.classList.toggle("visible", i < 10);

    alert(div.classList.contains("foo"));

    //添加或删除多个类
    div.classList.add("foo","bar");
    div.classList.remove("foo", "bar");  

H5在移动端的兼容性相对来说已经很不错,在不用jquery的时候,使用H5的新属性,可以省下不少功夫的

另外判断dom节点有无某个class的方法可以通过getAttribute()这个方法。即

 <html>
        <head>
        </head>
        <body>
            <div>
                <p>1</p>
                <p class="test">2</p>
                <p>3</p>
            </div>
            <script>
            var p = document.getElementsByTagName(‘p‘);
                for(var i = 0;i <p.length;i++){
                //方法一
                    if(p[i].className==‘test‘){
                        console.log(p[i].innerHTML)
                    }
                //方法二,用getAttribute()这个方法
                    //if(p[i].getAttribute("class")==‘test‘){
                    //console.log(p[i].innerHTML);
                    //}
                }
            </script>
        </body>
        </html>

  

时间: 2024-08-03 17:13:12

h5的classList对象的相关文章

H5的FormData对象完成ajax上传文件multiFile

最近工作中需要完成,ajax上传图片,可是input file +ajax是无法完成的: 于是寻找了许久,发现了H5 的一个对象FormData 使用方法如下: HTML: 1 <form id="myForm" enctype="multipart/form-data"> 2 <input type="hidden" name="name" value="马三" /> 3 <

classList

新H5中DOM对象多了一个classList属性,是一个数组 add 添加一个新的类名 remove 删除一个的类名 contains 判断是否包含一个指定的类名 toggle 切换一个class element.toggle('class-name',[add_or_remove]) toggle函数的第二个参数true为添加 false删除 <!DOCTYPE html> <html lang="en"> <head> <meta char

HTML DOM classList 属性

页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 添加类(add) document.getElementById("myDIV").classList.add("mystyle"); 为 <div> 元素添加多个类: document.getElementById("myDIV").cla

用PHP+H5+Boostrap做简单的音乐播放器(进阶版)

前言:之前做了一个音乐播放器(纯前端),意外的受欢迎,然后有人建议我把后台一起做了,正好也想学习后台,所以学了两天php(不要吐槽我的速度,慢工出细活嘛~)然后在之前的基础上也又完善了一些功能,所以这个Demo比之前的可以算是进阶呢~v2.0哈哈哈~感觉截图体验很不好呢,所以在美图秀秀上面做了简易的动图,大家感受感受 正文: 老规矩,先上图~感觉有点卡,愿意等的就等等嘛,不愿意等的,往下看,有图片讲解 功能实现: 1.点击音乐列表播放音乐 2.拖动或点击进度条,调节音乐播放进度 3.浮动到音量控

项目分享五:H5图片压缩与上传

一.简介 图片的压缩与上传,是APP里一个很常用的功能.我们来年看 ChiTuStore 是怎样做的.相关文件 App/Module/User/UserInfo.html,App/Module/User/UserInfo.ts 二.HTML布局 HTML 文件中,有如下二句,第一句就是上图所看到的图片,其中的 class 表示该图片以圆形来显示,并且靠右.第二句是一个 Input 控件,其类型为 file ,是用来上传文件的.值得注意的是 style,这的作用是让该控件与图片重叠,并且透明(op

使用HTML5里的classList操作CSS类

在HTML5 API里,页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. Element.classList 这个classList对象里有很多有用的方法: { length: {number}, /* # of class on this element */ add: function() { [native code] }, contains:

第88天:HTML5中使用classList操作css类

在HTML5 API里,页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 一.Element.classList 这个classList对象里有很多有用的方法: 1 { 2 length: {number}, /* # of class on this element */ 3 add: function() { [native code] }, 4

JS基础篇--HTML DOM classList 属性

页面DOM里的每个节点上都有一个classList对象,程序员可以使用里面的方法新增.删除.修改节点上的CSS类.使用classList,程序员还可以用它来判断某个节点是否被赋予了某个CSS类. 添加类(add) document.getElementById("myDIV").classList.add("mystyle"); 为 <div> 元素添加多个类: document.getElementById("myDIV").cla

网站如何做到完全不需要使用jQuery

jQuery是现在最流行的JavaScript工具库. 据统计,目前全世界57.3%的网站使用它.也就是说,10个网站里面,有6个使用jQuery.如果只考察使用工具库的网站,这个比例就会上升到惊人的91.7%. 虽然jQuery如此受欢迎,但是它臃肿的体积也让人头痛不已.jQuery 2.0的原始大小为235KB,优化后为81KB:如果是支持IE6.7.8的jQuery 1.8.3,原始大小为261KB,优化后为91KB. 这样的体积,即使是宽带环境,完全加载也需要1秒或更长,更不要说移动设备