在使用它之前检查现有标签是否有意义?或者 jQuery 是在动态地做事吗?
这里有一个示例代码
$('#my_ul li.active').removeClass('active');
或者...
if( $('#my_ul li.active').length ) {
$('#my_ul li.active').removeClass('active');
}
在使用它之前检查现有标签是否有意义?或者 jQuery 是在动态地做事吗?
这里有一个示例代码
$('#my_ul li.active').removeClass('active');
或者...
if( $('#my_ul li.active').length ) {
$('#my_ul li.active').removeClass('active');
}
不,这没有意义。它既不快也不有用。不要这样做。
简单地做
$('#my_ul li').removeClass('active');
并且不会有任何错误,即使没有这样的元素,即使li
元素没有active
类。
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 的内部结构