jQuery在删除标记之前进行检查

jQuery check before delete tag

本文关键字:进行检查 删除 jQuery      更新时间:2023-09-26

在使用现有标记之前检查它是否有意义?还是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 的内部结构