2010-08-23 39 views
58
<ul id='myid'> 
    <li id='1'>First</li> 
    <li id='2'>Second</li> 
    <li id='3'>Third</li> 
    <li id='4'>Fourth</li> 
    <li id='5'>Fifth</li> 
</ul> 

Làm thế nào tôi có thể cảnh báo id của item li nhấp (bất cứ điều gì có thể thay thế id có thể giá trị hay cái gì khác cũng sẽ làm việc)
xin vui lòng giúp
cảm ơn trước
Davejquery nhận được id/giá trị của LI sau khi chức năng nhấp chuột

+0

Thử sử dụng event.target.id http://api.jquery.com/event.target/ – Pramod

Trả lời

118
$("#myid li").click(function() { 
    alert(this.id); // id of clicked li by directly accessing DOMElement property 
    alert($(this).attr('id')); // jQuery's .attr() method, same but more verbose 
    alert($(this).html()); // gets innerHTML of clicked li 
    alert($(this).text()); // gets text contents of clicked li 
}); 

Nếu bạn đang nói về thay thế ID với một cái gì đó:

$("#myid li").click(function() { 
    this.id = 'newId'; 

    // longer method using .attr() 
    $(this).attr('id', 'newId'); 
}); 

Demo here. Và phải công bằng, bạn nên có đầu tiên cố gắng đọc tài liệu:

+0

Cảm ơn Karim, Nó hoạt động. Dave – dave

8

Nếu bạn thay đổi mã html của bạn một chút - loại bỏ các ids

<ul id='myid'> 
<li>First</li> 
<li>Second</li> 
<li>Third</li> 
<li>Fourth</li> 
<li>Fifth</li> 
</ul> 

Sau đó mã jquery bạn muốn là ...

$("#myid li").click(function() { 
    alert($(this).prevAll().length+1); 
});​ 

Bạn không cần phải đặt bất kỳ id, chỉ cần tiếp tục bổ sung thêm mục li.

Hãy xem demo

Liên kết hữu ích

+0

Cảm ơn Shivik, nhưng id đã được xác định. Và tôi đã nhận được câu trả lời mà tôi đang tìm kiếm, trong câu trả lời đầu tiên. Cảm ơn một lần nữa – dave

-2

Nếu bạn có nhiều li 's bên li' s thì đây chắc chắn sẽ giúp bạn, và tôi đã kiểm tra nó và nó hoạt động ....

<script> 
$("li".on('click', function() { 
      alert(this.id);`return false; ` 

     }); 
</script> 
Các vấn đề liên quan