我对JQuery的index()方法缺少什么。根据文档,我希望在此处提醒1
的值:
HTML
<div class="test" id="div1"></div>
<div class="test" id="div2"></div>
JS
$(document).ready(function(){
var index = $('.test').index('#div2');
alert(index);
});
这是一个小提琴:http://jsfiddle.net/cpody1cb/
为什么我会收到-1
的提醒?如果我改为使用index('#div1')
,我会收到警告0
,正如我所料。
答案 0 :(得分:2)
你太努力了。
var index = $('#div2').index();
要解释为什么你的工作不起作用,你只需向后选择器。 index()
方法的参数应该是一个选择器,它获取元素集,而不是您想要索引的元素。这将是这样做的:
var index = $('#div2').index('.test');
答案 1 :(得分:0)
由于索引从零开始,您应该获得1
$(document).ready(function(){
var index = $('.test').index( $('#div2') );
alert(index);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="test" id="div1"></div>
<div class="test" id="div2"></div>
&#13;
答案 2 :(得分:0)
.index()只能处理一个元素,所以它首先将所选元素集合减少到第一个元素,这解释了当你使用0
和{#div1
时获得-1
的原因。使用#div2
时{1}}。你应该选择你想要索引的div,然后给它一个选择器来告诉它在哪里寻找元素。
$('#div2').index('.test')