美文网首页
js对css的操作

js对css的操作

作者: 鬼马双星 | 来源:发表于2017-11-02 22:43 被阅读0次

对class的操作

class的特点:样式可以叠加,class可以设置多个名称,并且用空格隔开

JS操作:

通过属性

ele.className=”class1 class2”可读可写

获取class列表,数组

ele.classList

通过attribute,字符串

ele.getAttribute(“class”); //获得的值class1 class2

ele.setAttribute(“class”,”class1 class2”);

jQuery操作

添加:

$(ele).addClass(“class1”);

$(ele).addClass(“class2”);

$(ele).attr(“class”,”class1 class2”);

删除:

$(ele).removeClass(“class1”);

$(ele).removeClass(“class2”);

$(ele).removeAttr(“class”);

切换有无:

$(ele).toggleClass(“class1”);

对style操作

style命名规则“name1-name2:value;”,比如“font-size:12px”

JS操作:

通过style属性(值必须是字符串)

sylte属性返回的是CSSStyleDeclaration表示一个CSS属性键值对的集合,所以不能作为常规属性操作,如下操作是不合法的:

ele.style = “font:12px;”

正确的操作如下:

ele.style.prop = value;

prop的命名规则“name1Name2”,比如

ele.style.fontSize = “12px”

获取生效的style文本(只读)

e.style.cssText

另一种操作

e.style.getProperty(“name1-name2”);

e.style.setProperty(“name1-name2”,”value”,”important”);

(第三个参数是优先级,可选)

e.style.removeProperty(name);

通过attribute操作(字符串),不推荐

ele.getAttribute(“style”);

ele.setAttribute(“style”,”prop1:val01;prop2:val02;”);

jQuery操作

css方法

两种调用方式:

取值$(ele).css(“name1-name2”)

设置值$(ele).css(“name1-name2”,”value”)

$.css(ele,name)

$.css(ele,name,value)

attr方法(不推荐)

$(ele).attr(“style”)

$(ele).attr(“style”,”prop1:val01;prop2:val02;”)

$(ele).removeAttr(“style”)

总结

通过操作attribute来改变样式,是最简单粗暴的方式,不推荐使用有如下几个原因:

1、先改变标签中style的值,然后浏览器再进行解析,才能生效,效率既不高也不靠谱。

2、对于多个样式删改,需要重新拼接字符串,不方便,并且每次生效要把所有样式重新渲染。

3、由于各浏览器动态渲染机制的不同,可能会出现属性值与实际效果不一致的情况。

相关文章

  • js对css的操作

    对class的操作 class的特点:样式可以叠加,class可以设置多个名称,并且用空格隔开 JS操作: 通过属...

  • iOS WebView加载本地js、css文件

    iOS WebView加载本地js、css文件 思路:对html进行操作,然后webView loadHtml 将...

  • JavaScript02

    今日主要内容 常用API JSON字符串 JS自定义对象三种方式 DOM事件操作类型,JS对html和css的操作...

  • js基础

    1.网页 网页=html+css+js html:网页元素内容 css:控制网页样式 js:操作网页内容,实现功能...

  • 微信小程序实现展开和收起

    html css js 实现展开和收起的操作方法 wxml 代码 wxss 代码 js 代码

  • 第二阶段

    html、css、js、jquery、数据库、linux操作系统

  • jQuery入门

    jQuery是js的函数库。 功能: html元素选择与操作 css操作 html事件函数 JS特效和动画 Htm...

  • js css操作

    js css操作 行内样式 el.style.fontSize="18px" 传统class改变 el.class...

  • JS操作CSS

    2019-04-19 修改元素样式 ​ 对于带连字符的CSS属性,如border-color,JavaScri...

  • js css操作

    js css操作行内样式el.style.fontSize="18px"传统class改变el.className...

网友评论

      本文标题:js对css的操作

      本文链接:https://www.haomeiwen.com/subject/nexzpxtx.html