欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

关于jquery中css,addclass,sttr修改样式的效率问题?_html/css_WEB-ITnose

程序员文章站 2022-06-05 17:39:42
...
最近发现 写jquery 修改样式的方法多,

1. 直接css 修改样式

2.addClass 添加样式

3.attr 修该classname

不知道这3中方法中 效率有什么不一样?

我自己直接喜欢用css修改, 不喜欢用addClass 但看到好多人用这个不知道 效率上哪个更好。?


回复讨论(解决方案)

最近发现 写jquery 修改样式的方法多,

1. 直接css 修改样式

2.addClass 添加样式

3.attr 修该classname

不知道这3中方法中 效率有什么不一样?

我自己直接喜欢用css修改, 不喜欢用addClass 但看到好多人用这个不知道 效率上哪个更好。?

基本上都差不多

不管是单个修改样式,还是直接修改class,浏览器都得重新渲染被修改的元素的。

引用楼主 liuping1989829 的回复:
最近发现 写jquery 修改样式的方法多,

1. 直接css 修改样式

2.addClass 添加样式

3.attr 修该classname

不知道这3中方法中 效率有什么不一样?

我自己直接喜欢用css修改, 不喜欢用addClass 但看到好多人用这个不知道 效率上哪个更好。?


基本上都差不多

……
但我看到用法不同是 个人习惯导致的么?

引用 1 楼 mubeibei 的回复:

引用楼主 liuping1989829 的回复:
最近发现 写jquery 修改样式的方法多,

1. 直接css 修改样式

2.addClass 添加样式

3.attr 修该classname

不知道这3中方法中 效率有什么不一样?

我自己直接喜欢用css修改, 不喜欢用addClass 但看到好多人用这个不知道 效率……

如果只是改元素单一样式的话,还是直接用 对象.style.属性 = '值'这样好点

要是改大量的样式的话,就直接修改对象className会好点

请教一个问题:用jquery 的css()和addclass()方法给一个标签添加样式时,如果标签之前已经设定了背景图片,再使用css()和addclass()改变它的背景图片时不起作用
我的JS 是这样写的

$("ul>li").find("ul").prev().click(function(){
$(this).toggleClass("myclass1").next().toggleClass("show");
});

html :






css:
ul li a{background-image:url1;}
.myclass1{background-image:url2;}