我想獲得點擊類的索引並使用下面的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);
});
請注意,.live()
已棄用。你應該父元素上使用.on()
如下:$('.parent').on('click','.image_or_video',function(){...})
要解決你的問題嘗試更換以下行:(Take a look on the docs)
var clicked_radio = $(this).index();
到
var clicked_radio = $('.image_or_video').index(this);
或
var clicked_radio = $(this).index('.image_or_video');
我願意打賭喲你想要父母的索引而不是你點擊的元素。看看這個代碼。
<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()
工作中的小提琴,但here's what I did get working in the fiddle:
$(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 ?實時已棄用。用()代替。
將您的代碼與上面的代碼(它適用於舊的jQuery)進行比較 - 您做了什麼改變?
看起來你創造了*自己的* dom來與他的* js一起工作,但是他正試圖讓他的* js與*他* dom一起工作......他沒有向我們展示過。 – smerny
在黑暗中的好老槍。 – shubniggurath
你的html看起來像什麼,你期望得到什麼值? –
嘗試'$('。image_or_video')。index(this)' –
如果'.image_or_video'沒有兄弟姐妹,它就像預期的那樣工作。 –