2011-12-28 29 views
13

Tôi có một số mã HTML:Làm cách nào để phát hiện id phần tử hiện tại trong jQuery?

<input type="button" id="btn1" class="myButton" value="Button 1"/> 
<input type="button" id="btn2" class="myButton" value="Button 2"/> 

tôi cần phải chạy một hàm jQuery bất cứ khi nào người dùng nhấp vào từng nút, và tôi phải làm điều đó bằng lớp học của họ.

$('.myButton').click(function() { 
    // do something 
}); 

Nhưng những gì tôi phải làm, phụ thuộc vào Id phần tử hiện tại.

Câu hỏi của tôi là làm thế nào tôi có thể phát hiện thành phần nào được gọi là chức năng này? Tôi cần phải biết id của nó.

+1

thể trùng lặp của [Lấy id của một mục mà được nhấp] (http://stackoverflow.com/questions/8159497/get-the-id -of-a-the-item-được-nhấp) –

Trả lời

28

Bạn có thể sử dụng this để truy cập phần tử hiện tại và sau đó this.id sẽ cung cấp cho bạn id của phần tử hiện tại.

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

this trong xử lý sự kiện là yếu tố mà được nhấp:

$('.myButton').click(function() { 

    if (this.id === "btn1") { 
     ... 
    }  

}); 
2

Nhìn vào this. Bạn chỉ có thể sử dụng phương thức attr() để lấy id của phần tử được nhấp khi bạn liên kết lệnh gọi lại với phần tử MỌI với lớp .myButton.

+3

Vui lòng thêm giải thích và mã. Vui lòng đọc http://stackoverflow.com/questions/how-to-answer - * Cung cấp ngữ cảnh cho các liên kết * –

+0

Cảm ơn bạn andreapier. Vấn đề là $ (điều này) ... Cũng cảm ơn tất cả bạn bè khác. –

10

Nếu bạn muốn giữ lại trong bối cảnh jquery, bạn có thể sử dụng đoạn mã này:

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

Với cách này bạn linh hoạt hơn một chút.

1

Với jQuery tôi thấy làm việc này:

$(this).prop('id') 
Các vấn đề liên quan