如果该元素还没有该属性,我将如何向该元素添加该属性?
if (' this does not have class=selected') {
$(this).addClass('selected');
}
如果该元素还没有该属性,我将如何向该元素添加该属性?
if (' this does not have class=selected') {
$(this).addClass('selected');
}
if(!$(this).attr('name')) {
$(this).attr('name', 'value');
}
应该这样做。
如果您专门谈论课程,那么请继续添加它。如果它已经存在,则不会添加两次。
$(this).addClass('selected'); // will only add the class if it doesn't exist
我怀疑对班级的第一次测试会更有效率。
现场演示:http: //jsfiddle.net/2sLd5/
jQuery 文档是你的朋友!:) http://api.jquery.com/category/css/
您可能正在寻找 HasClass
http://api.jquery.com/hasClass/
$('#mydiv').hasClass('foo')
您可以使用属性而不是选择器。这不仅适用于类,也适用于任何属性
if($('#elemid[class!="myclass"]').length) {
$('#elemid').addClass('otherClass');
}
当然,如前所述,如果您想添加您检查的类,只需添加它。这没有什么坏处。
在添加类之前,没有必要检查类是否已经存在。查看 jQuery 源代码(https://github.com/jquery/jquery/blob/master/src/attributes.js,搜索),如果该类已经存在addClass
,则似乎什么都不做。addClass
因此,没有必要先检查。