У мене є такий html
<div class="click" id="1">
one
<div class="click" id="2">
two
<div class="click" id="3">
three
<div class="click" id="4">
four
<div class="click" id="5">
five
</div>
</div>
</div>
</div>
якщо у мене є клацання події при клацанні класом, є будь-який спосіб повернути ідентифікатор, на який я натискаю як от $ (". click"). click (функція () { попередження ("ідентифікатор, який натискаю")
}); Тому що я натискаю на три, я все одно отримую ідентифікатор один і два три.
Відповіді:
3 для відповіді № 1Звичайно, просто зробіть це:
$(".click").click(function(e){ //e=event
alert($(this).attr("id")); // alert clicked element"s id
e.stopPropagation(); // stop event propagation so it doesnt propagate to click 1 and click 2
})
Оновити: Як згадував Фелікс Клінг, ви можете отримати доступ до de DOM безпосередньо та використовувати:
alert(this.id);
2 для відповіді № 2
Демо: http://jsfiddle.net/tzJUN/ використовуючи this.id
http://jsfiddle.net/c65x9/
Якщо ви захочете: jQuery attr vs prop?
Припинення пропонування зупинить click
Подія події перекидається на дерево DOM, не дозволяючи будь-яким батькам обробляти повідомлення про подію.
API:
.stoppropagation
- http://api.jquery.com/event.stoppropagation/
Код
$(document).ready(function () {
$(".click").click(function (event) {
event.stopPropagation();
alert($(this).prop("id")); //<< --- or this.id
});
});
0 для відповіді № 3
$(".click").click(function(e){
$(this).attr("id");
alert($(this).attr("id"));//here you can see your clicked id
})
0 для відповіді № 4
Так. це просто
$(document).ready(function(){
$(".click").click(function(){
var ID=$(this).attr("id");
alert(ID);
//This ID varible will return ID of the Div Clicked
});
});