<ul>
<li><a href="#">Punches</a>
<div class="def">
<h2>Punches</h2>
<ul id="PARENT" class="PARENT">
<li class="CHILD"><a href="#item1">This Is Sparta</a></li>
<li class="CHILD"><a href="#item2">You Shall not pass</a></li>
<li class="CHILD"><a href="#item3">May the force be with you</a></li>
</ul>
</div>
</li>
<li><a href="#">Whistles</a>
<div class="def">
<h2>Whistles</h2>
<ul id="PARENT" class="PARENT">
<li class="CHILD"><a href="#item4">How you doin ?</a></li>
<li class="CHILD"><a href="#item5">Let's put another shrimp on the barbequeue</a></li>
</ul>
</div>
</li>
</ul>
当我输入$('ul.PARENT&gt; li.CHILD');在浏览器的JS控制台中我得到长度为5的数组,但是当我从文件中执行完全相同的操作时,我得到的数组长度为3.即当我单击名为“你怎么做?”的链接时,它会在索引处显示对象选择0而不是显示索引3处的对象已被选中。谁能告诉我这是怎么回事?
答案 0 :(得分:0)
没有发现计数问题。
但是index()方法根据它的调用方式而有所不同。
jQuery(function($){
var $lis = $('ul.PARENT > li.CHILD');
console.log($lis.length);
$lis.click(function(e){
e.preventDefault();
console.log($lis.index(this))
})
})
演示:Fiddle
如果你想要当前元素的整体索引对一组元素,那么使用上面的语法