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

时间:2013-04-08 18:30:24

标签: jquery each

如果我有一些像这样的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

5 个答案:

答案 0 :(得分: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 :(得分:1)

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

例如,如果您想对每个元素发出警报:

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

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:0)

每当您想要遍历子元素时,您都可以使用each。无论它们是列表,还是div,span或段落。

每当你想为包装器中的每个孩子写一些逻辑时,你可以使用each

示例:

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

答案 4 :(得分: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" );