要添加课程,我们可以像下面这样使用
$('#x').addClass('test');
我们也可以通过以下方式做到
$('#x').attr('class','test');
所以我想知道这两种方式是否相同而且存在一些差异
答案 0 :(得分:2)
$('#x').attr('class','test');
将删除所有现有的类,并将test
设置为唯一的类...
如果$('#x').addClass('test');
已经不存在,那么test
会将类<div id="x" class="some class"></div>
添加到现有的类集中
.addClass('test')
在上面的标记class="some class test"
中会产生.attr('class','test')
,而class="test"
会创建{{1}}
答案 1 :(得分:1)
示例:
<div id="x" class="a">
$('#x').addClass('test');
<强>结果:强>
<div id="x" class="a test">
$('#x').attr('class','test');
<强>结果:强>
<div id="x" class="test">
但如果你谈论的是perf。看到这个..
http://jsperf.com/jquery-addclass-vs-attr-class-vs-prop-class/3