0

在使用它之前检查现有标签是否有意义?或者 jQuery 是在动态地做事吗?

这里有一个示例代码

$('#my_ul li.active').removeClass('active');

或者...

if(  $('#my_ul li.active').length ) {
    $('#my_ul li.active').removeClass('active');
}
4

2 回答 2

3

不,这没有意义。它既不快也不有用。不要这样做。

简单地做

 $('#my_ul li').removeClass('active');

并且不会有任何错误,即使没有这样的元素,即使li元素没有active类。

于 2013-08-17T16:32:50.547 回答
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 的内部结构

于 2013-08-17T17:11:25.100 回答