在使用它之前检查现有标签是否有意义?或者是jQuery正在做什么事情?
这是一个示例代码
$('#my_ul li.active').removeClass('active');
...或
if( $('#my_ul li.active').length ) {
$('#my_ul li.active').removeClass('active');
}
答案 0 :(得分:3)
不,没有意义。它既不快也不实用。不要这样做。
简单地做
$('#my_ul li').removeClass('active');
并且即使没有这样的元素也不会有任何错误,即使li
元素没有active
类。
答案 1 :(得分:1)
jQuery为选择返回的每个元素执行循环。因此,如果数组中的元素为零,则循环将发生零次。举个例子
HTML
<ul>
<li>Hello World</li>
</ul>
JavaScript是
var $('li');
如果您在控制台上记录它将返回一个元素数组,它将如下所示;
[<li>Hello world</li>]
因为上面是一个数组,当jQuery循环时它将执行一次。 但是,如果该部分返回零项,则循环将永远不会出现在那里
$('div').removeClass(".myClass");
基本上就是removeClass插件(它只是一个插件,它只是一个插件,它是核心jQuery代码的一部分)
插件会做这样的事情;
$.each($('div), function () {
//some code to remove the class
})
希望这有助于您了解jQuery的内部结构