我有以下的HTML ...jQuery的 - div的
<div class="display">sometext</div>
<div class="display">sometext</div>
<div class="display">sometext</div>
使用jQuery我希望能夠點擊第一div
的顯示出現次數和警告會顯示說你已經點擊了第一div
等等。我知道如何計算具有特定班級的div
的數量,但不知道如何確定哪一個被點擊。
我有以下的HTML ...jQuery的 - div的
<div class="display">sometext</div>
<div class="display">sometext</div>
<div class="display">sometext</div>
使用jQuery我希望能夠點擊第一div
的顯示出現次數和警告會顯示說你已經點擊了第一div
等等。我知道如何計算具有特定班級的div
的數量,但不知道如何確定哪一個被點擊。
在幕後,.index()
也遍歷所有以前的元素。當元素有許多同胞時,以下替代方法比.index()
更有效。
$(".display").each(function(i){
$(this).click(function(){
alert("Clicked div.display, number " + i);
}
});
很好的使用封閉。實際上,內部jQuery使用'inArray'函數來檢查瀏覽器是否有indexOf,如果它使用'indexOf.call(...)'來返回索引,如果不是則返回yes。 –
爲什麼使用jQuery?你可以編寫一個由div觸發的簡單javascript。
也許OP已經將jQuery用於頁面中的其他內容,並且通常使用jQuery將使您的代碼更短。 – Nettogrof
這是一個簡單的方法。
$divs = $('.display');
$divs.click(function(){
alert($divs.index($(this)));
})
Fiddle要去用它。
答案很簡單和行之有效的this jsfiddle:
var containers = jQuery('.display');
containers.bind('click', function(event){
alert('Clicked element no. ' + (containers.index(this)+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'));
});
Ahhh .index,我想這就是我要找的。 –
很高興幫助過! =) –
@Interstellar_Coder:恩,它以何種方式變得複雜? –