我有以下HTML ...
<div class="display">sometext</div>
<div class="display">sometext</div>
<div class="display">sometext</div>
使用jQuery我希望能够点击第一个div
并显示一条警告,说明您已点击第一个div
,依此类推。我知道如何计算具有特定类的div
的数量,但不知道如何判断单击哪一个。
答案 0 :(得分:7)
在幕后,.index()
也会遍历所有先前的元素。当元素有很多兄弟姐妹时,以下替代方法比.index()
更有效。
$(".display").each(function(i){
$(this).click(function(){
alert("Clicked div.display, number " + i);
}
});
答案 1 :(得分:5)
我不确定'第一'这样,但你可以尝试:
$('.display').click(
function(){
alert("You clicked div number: " + ($(this).index('.display') + 1) + ", of " + $('.display').length);
});
参考文献:
答案 2 :(得分:1)
这是一个简单的方法。
$divs = $('.display');
$divs.click(function(){
alert( $divs.index($(this)) );
})
Fiddle继续使用它。
答案 3 :(得分:1)
答案很简单,并由this jsfiddle证实:
var containers = jQuery('.display');
containers.bind('click', function(event){
alert('Clicked element no. ' + (containers.index(this)+1));
});
如果有帮助,请告诉我。
答案 4 :(得分:1)
你可以这样做:
<强> HTML 强>
<div class="display" name="1">sometext</div>
<div class="display" name="2">sometext</div>
<div class="display" name="3">sometext</div>
<强>的JavaScript 强>
$('.display').click(function(){
alert($(this).attr('name'));
});
答案 5 :(得分:0)
为什么要使用jQuery?您可以编写一个简单的javascript,由div点击触发。