jQuery将div识别为列表项

Sam*_*mmy 0 html javascript jquery

我知道你不应该将div放在无序列表中,但我们可以说我们有下面提到的标记.使用jQuery我想定位每个第3个列表项:li:nth-​​child(3n).看起来jQuery也将div作为列表项计数,即使我们指定li:eq(3n).我们如何检测每个第3个列表项,而不管父元素中还有什么.什么是甚至写li:eq(3n)什么时候忽略'li'?

HTML:

<ul class="hello">
    <div class="someDiv">a</div>
    <li>one</li>
    <li>two</li>
    <li>three</li>
    <div class="divider">b</div>
    <li>one</li>
    <li>two</li>
    <li>three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("ul.hello li:nth-child(3n)").css('color','red');
Run Code Online (Sandbox Code Playgroud)

小提琴

Jof*_*heo 5

使用nth-of-type(3n)这样:

$("ul.hello li:nth-of-type(3n)").css('color','red');
Run Code Online (Sandbox Code Playgroud)

例如,nth-of-type(3n + 2) - 3表示循环大小,n表示计数器,2表示何时开始

演示:http://jsfiddle.net/N565K/2/