2013-09-08 64 views
17
<div class="main_div"> 
    <div id="inner_div">  
     <span id="d1" class="get_clicked">click to get id</span> 
    </div> 
</div> 

Làm cách nào để lấy id của phần tử được nhấp? Khoảng hiện diện bên trong inner_div sẽ có các id khác nhau bởi vì tôi sẽ tải khoảng cách từ mô hình (MVC) bằng cách sử dụng jquery ajax. Vì vậy, sẽ có 'n' số nhịp. Tất cả các khoảng sẽ có id duy nhất. Tôi muốn lấy id của khoảng mà tôi nhấp vào.Cách lấy id của phần tử được nhấp bằng cách sử dụng jQuery

Làm cách nào để nhận được id của khoảng thời gian khi được nhấp? Làm thế nào để làm điều này bằng cách sử dụng jQuery?

+0

khoảng thời gian vẫn đang được tải qua quyền ajax? – DGS

+0

có, tôi đang tải khoảng cách bằng cách sử dụng jquery ajax. – Gourav

+0

là 'bên trong div' hoặc' main_div' được nạp bởi ajax? – DGS

Trả lời

42

cập nhật khi bạn tải nội dung tự động, do đó bạn sử dụng.

$(document).on('click', 'span', function() { 
    alert(this.id); 
}); 

mã cũ

$('span').click(function(){ 
    alert(this.id); 
}); 

hoặc bạn có thể sử dụng .on

$('span').on('click', function() { 
    alert(this.id); 
}); 

this đề cập đến phần tử span hiện được nhấp

this.id sẽ cung cấp cho các id của nhịp hiện tại nhấp

+0

khoảng thời gian đang được tải qua ajax để không hoạt động, bạn phải sử dụng trình xử lý ủy nhiệm thay vì – DGS

+0

@DGS tôi đã sử dụng '.on' –

+1

Điều đó không tạo sự khác biệt. Sẽ vẫn chỉ liên kết các sự kiện với các phần tử hiện có trong DOM – DGS

10

Vì bạn đang tải trong các nhịp thông qua ajax, bạn sẽ phải đính kèm trình xử lý ủy nhiệm vào các sự kiện để bắt chúng khi chúng bong bóng lên.

$(document).on('click','span',function(e){ 
    console.log(e.target.id) 
}) 

bạn sẽ muốn đính kèm sự kiện vào thành viên tĩnh gần nhất mà bạn có thể để tăng hiệu quả.

$('#main_div').on('click','span',function(e){ 
    console.log(e.target.id) 
}) 

tốt hơn là ràng buộc với tài liệu chẳng hạn.

Câu hỏi này có thể giúp bạn hiểu

Direct vs. Delegated - jQuery .on()

0

Bạn có thể lấy id của nhấp từng cái mã này

$("span").on("click",function(e){ 
    console.log(e.target.Id); 
}); 

Sử dụng .on() sự kiện cho khả năng tương thích trong tương lai

+0

mã của bạn không hoạt động hemal – Gourav

+0

Bằng cách sử dụng .on tôi đoán nó sẽ hoạt động. Cảm ơn – Gourav

1

tôi muốn chia sẻ làm thế nào bạn có thể sử dụng để thay đổi một thuộc tính của nút, vì nó đã cho tôi một thời gian để con số nó ra ...

Ví dụ để thay đổi nó là nền sang màu vàng:

$("#"+String(this.id)).css("background-color","yellow");