嗨,我有这个代码。我需要获得被点击元素的基于0的索引。
这是我的代码。我总是得-1作为索引。 理想情况下,单击第一个链接将打印0,第二个将打印1。 我正在使用jquery 1.3.2。 JavaScript代码也很好。
我缺少什么?
<script type="text/javascript">
function handleClick(id) {
var par = document.getElementById('par'+id);
alert('Index= ' + $('#clips').index(par));
}
</script>
<div id="clips" style="clear:both">
<div id="par30" class="alb rc32">
<div class="fl rc32 thm">
<a id="30" onclick="handleClick(30);">Link 1</a>
</div>
</div>
<div id="par40" class="alb rc32">
<div class="fl rc32 thm">
<a id="40" onclick="handleClick(40);">Link 2</a>
</div>
</div>
<div id="par50" class="alb rc32">
<div class="fl rc32 thm">
<a id="50" onclick="handleClick(50);">Link 3</a>
</div>
</div>
</div>
答案 0 :(得分:1)
这有效:
<script type="text/javascript">
function handleClick(id) {
var $par = $('#par' + id);
alert($par.index());
}
<div id="clips" style="clear:both">
<div id="par30" class="alb rc32">
<div class="fl rc32 thm">
<a href="javascript:void(0);" id="30" onclick="handleClick(30);">Link 1</a>
</div>
</div>
<div id="par40" class="alb rc32">
<div class="fl rc32 thm">
<a href="javascript:void(0);" id="40" onclick="handleClick(40);">Link 2</a>
</div>
</div>
<div id="par50" class="alb rc32">
<div class="fl rc32 thm">
<a href="javascript:void(0);" id="50" onclick="handleClick(50);">Link 3</a>
</div>
</div>
</div>
答案 1 :(得分:0)
您使用的索引功能错误。
尝试
<script type="text/javascript">
function handleClick(id) {
var par = document.getElementById('par'+id);
alert('Index= ' + $('#clips > div').index(par));
}
</script>
请参阅http://api.jquery.com/index/
如果在集合上调用.index() 元素和DOM元素或 传递jQuery对象,.index() 返回一个表示的整数 传递元素的位置 相对于原始集合。