我何时需要在jquery中使用每个

问题描述 投票:0回答:5

例如,如果我有类似这样的HTML

<ul>
    <li><a href="#">one</li>
    <li><a href="#">two</li>
    <li><a href="#">three</li>
</ul

并且我想使用jquery影响每个li项目中的定位标记。在哪种情况下,我需要使用each在它们之间循环,在哪种情况下,jquery将自动应用于所有li

例如,如果我这样做

jQuery('ul li a').css('color', 'red');

这将使每个标签变成红色,但是无论我使用哪种方法,都是这种情况,在其他情况下(不同的HTML或选择器),我需要使用each

jquery each
5个回答
2
投票

jQuery('ul li a').css('color', 'red')是颜色为red的示例。但是,您可以使用$.each来表示您必须在应用颜色red之前进行一些处理。示例:

$('ul li a').each(function(){
    if($(this).parent().hasAttr('error')){  
        $(this).css('color', 'red');
    }
});

在第一种情况下您无法进行检查,但是可以使用.each


1
投票

在大多数情况下,each是多余的或暗含的。如果您需要特定于该元素的独特内容(主要示例为each),请使用id

使用$('ul li a').attr('id')查找id只会提供第一个id。这意味着您必须使用:

$('ul li a').each(function(){
   $(this).attr('id');
});

1
投票

如果您想做更复杂的事情,可以运行一个函数。

例如,如果要在每个元素上发出警报:

$('ul li a').each(function(index, value) { alert(index); });

0
投票

[无论何时要遍历所有子元素,都可以使用each。无论它们是列表,div集合,跨度还是段落集。

[每当要为包装中的每个子代编写一些逻辑时,都可以使用each

示例:

$('#oneDiv div').each(function(){
     if(div.text() === null)
        //do Something
 });

0
投票

您可以在jQuery API文档中看到:https://api.jquery.com/each/#each-function,对于您的示例,没有必要如其示例中所示。

// The .each() method is unnecessary here:
$( "li" ).each(function() {
  $( this ).addClass( "foo" );
});

// Instead, you should rely on implicit iteration:
$( "li" ).addClass( "bar" );
© www.soinside.com 2019 - 2024. All rights reserved.