是否有任何select器可用于添加ID,就像添加一个类 – addClass()?
好吧,我知道用一些jQuery动作,我们可以添加很多类到一个特定的div: <div class="cleanstate"></div> 让我们说,一些点击和其他的东西,div得到了很多类 <div class="cleanstate bgred paddingleft allcaptions …"></div> 那么,我怎样才能删除除了一个之外的所有类呢? 我提出的唯一的想法是这样的: $('#container div.cleanstate').removeClass().addClass('cleanstate'); 虽然removeClass()杀死了所有的类,但是div被搞砸了,但是在addClass('cleanstate')之后加上了它就恢复了正常。 另一个解决scheme是把一个ID属性与基本的CSS属性,所以他们不会被删除,什么也提高了性能,但我只是想知道另一种解决scheme来摆脱除“.cleanstate” 我这样问,是因为在真正的剧本中,div遭受了各种各样的变化。
我遇到了下面的脚本,它检查一个元素是否具有类a ,如果不是,则添加它: if (!$("div").hasClass("a")){ $("div").addClass("a"); } 由于jQuery不会添加类,如果它已经存在,这可以被改为: $("div").addClass("a"); 然而,有没有任何性能改进,首先使用hasClass ,或者这是使用addClass不pipe怎么样的方法,因此重复逻辑?
在jQuery中,是否build议在添加该类之前检查一个类是否已经分配给元素? 它会有什么效果吗? 例如: <label class='foo'>bar</label> 如果有疑问bazclass已经被分配到label ,这是最好的办法: var class = 'baz'; if (!$('label').hasClass(class)) { $('label').addClass(class); } 或者这样就够了: $('label').addClass('baz');