我正在尝试获取单击类的索引并使用以下 jQuery 代码,但它总是向我显示 0(零)。请帮忙解决这个问题,先谢谢了。
$('.image_or_video').live('click', function(){
var clicked_radio = $(this).index();
alert(clicked_radio);
});
我正在尝试获取单击类的索引并使用以下 jQuery 代码,但它总是向我显示 0(零)。请帮忙解决这个问题,先谢谢了。
$('.image_or_video').live('click', function(){
var clicked_radio = $(this).index();
alert(clicked_radio);
});
我敢打赌你想要父级的索引而不是你点击的元素。看看这段代码。
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
<li><a href="#">Item 5</a></li>
<li><a href="#">Item 6</a></li>
<li><a href="#">Item 7</a></li>
<li><a href="#">Item 8</a></li>
<li><a href="#">Item 9</a></li>
<li><a href="#">Item 10</a></li>
</ul>
的索引<li>
比<a>
. 这个演示应该有助于清除它。
将事件接收者对象参数添加到您的点击处理程序。我无法live()
在小提琴中快速使用它,但这是我在小提琴中所做的工作:
$(function() {
$('.image_or_video').click( function(target){
var clicked_radio = $(target.target).index('.image_or_video');
alert(clicked_radio);
});
});
我使用了完全相同的 js 代码,并且成功了:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p class="image_or_video">clicky</p>
<p class="image_or_video">clicky</p>
<p class="image_or_video">clicky</p>
<p class="image_or_video">clicky</p>
<p class="image_or_video">clicky</p>
<p class="image_or_video">clicky</p>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js">
</script>
<script>
$('.image_or_video').live('click', function(){
var clicked_radio = $(this).index();
alert(clicked_radio);
});
</script>
</body>
</html>
你用的是什么版本的jquery?不推荐使用 Live。使用 on() 代替。
将您的代码与上面的代码(适用于旧 jQuery)进行比较——您有什么不同之处?