最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • js addList最详细用法

    正文概述 掘金(万博交流)   2021-01-12   457

    使用过jquery开发的童鞋都知道:jquery中addClass与removeClass是两个使用高频的方法,操作dom元素增删class类是十分方便的。如今原生的js classList可以跟jquery操作class功能想媲美,在某些操作上甚至可以说更优于jquery。

    element.classList 是一个只读属性,返回一个元素的类属性的实时 DOMTokenList 集合。虽然 element.classList 本身是只读的,但是你可以使用 add() 和 remove() 等方法修改它。相比将 element.className 作为以空格分隔的字符串来使用,classList 是一种更方便的访问、设置元素的类列表的方法。

    1、 DOMTokenList 集合包含哪些信息

    .length: 元素class类的个数总和

    .value: 元素class类的字符串,同element.className 取值返回的字符串相同

    另外可以跟JavaScript Array 对象一样,用索引去访问每一个class值,如:element.classList[0]访问第一个class值,element.classList[1]访问第二个class值(也可以这样访问:element.classList.item(0),element.classList.item(1)) 剩下返回的就是__proto__原型链中的一些方法啦,下面会详细介绍用法。

    2、添加class类值方法:add( String [, String [, ...]] )

    jq一次性添加多个类写法如下:.addClass('a b'),classList也支持一次性添加多个类,但每个类间是用逗号,隔开,如:elementNodeReference.classList.add('a','b'),如果这些类已经存在于元素的属性中,那么它们将被忽略。

    3、移除class类值方法:remove( String [, String [, ...]] )

    jq一次性移除多个类写法如下:.removeClass('a b'),classList也支持一次性移除多个类,但每个类间是用逗号,隔开,如:elementNodeReference.classList.remove('a','b'),即使删除不存在的类值也不会导致抛出异常。

    4、添加或删除一个类值方法:toggle( String [, force] )

    jq一次性添加或删除多个类写法如下:.toggleClass('a b',state),classList只支持一次性添加或删单个类值如:elementNodeReference.classList.toggle('a',state),其中state支持条件语句写法,如:elementNodeReference.classList.toggle('a',i<10) 当只有一个参数时:切换类值;也就是说,即如果类值存在,则删除它并返回 false,如果不存在,则添加它并返回 true。 当存在第二个参数时:若第二个参数的执行结果为 true,则添加指定的类值,若执行结果为 false,则删除它。

    5、检查元素 class 属性中是否存在指定的单个类值方法:contains( String )

    jq支持检查元素是否有多个类值写法,如下:.hasClass('a b'),其中a b 必须跟在元素class值出现的顺序一样,否则返回为false,classList只支持检查元素 class 属性中是否存在指定的单个类值如:elementNodeReference.classList.contains('a')

    6、用一个新类值替换已有的类值方法:replace( oldClass, newClass )

    classList中如要将类值a替换成b写法如下:

    elementNodeReference.classList.replace('a','b'),值得强调的是jq中没有相应的方法与之对应,只能先调用.removeClass('a')再调用.addClass('b')来实现。

    7、浏览器兼容性

    使用classList,需要特别注意:IE9及之前的版本完全不支持classList属性,甚至IE10也仅只是部分支持,但Edge浏览器下还是可以放心使用的! 总的来说,如果不需要兼容ie系列,可大胆放心使用,完全可以像用JQ一样便捷了。


    起源地下载网 » js addList最详细用法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元