这就是我在前端的内容
<ul>
<li><strong>list</strong> item 1 - one strong tag</li>
<li><strong>list</strong> item <strong>2</strong> -
two <span>strong tags</span></li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
我有一个Jquery做一些简单的过滤
$( "li" )
.filter(function( index ) {
return index % 3 === 2;
})
.css( "background-color", "red" );
我的问题是,我是否会在索引中遇到未定义的错误?或索引自动分配到DOM中每个li元素的位置?请指教。
非常感谢
答案 0 :(得分:1)
我认为看看是否有效的最好方法就是尝试它。像这样:
$(function() {
$("li").filter(function(index) {
return index % 3 === 2;
})
.css("background-color", "red");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><strong>list</strong> item 1 - one strong tag</li>
<li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span>
</li>
<li>list item 3</li>
<li>list item 4</li>
<li>list item 5</li>
<li>list item 6</li>
</ul>
&#13;
答案 1 :(得分:0)
不,你不会得到错误。你可以像使用它一样使用它。就像文档说的那样。所以不要担心它没问题。 我们还可以利用通过函数传递的索引,该索引指示元素在未过滤的匹配元素集中的基于0的位置:
$( "li" )
.filter(function( index ) {
return index % 3 === 2;
})
.css( "background-color", "red" );
对代码的这种更改将导致第三个和第六个列表项被突出显示,因为它使用模数运算符(%)来选择具有索引值的每个项目,当除以3时,其余值为2。