2012-03-28 42 views
10

Tôi mới để JQuery/Javascript vv ... dựa trên các bài viết sau: How to make an anchor tag refer to nothing?Làm thế nào để chọn nhiều phần tử với jQuery

Tôi muốn áp dụng các chức năng java cho một số id. Chúng tôi có thể không thực hiện chức năng thực hiện cho các lớp học như trái ngược với id?

<span class="style1" id="myid">Link</span> 
<span class="style1" id="myid">Link</span> 
<span class="style1" id="myid">Link</span> 
<span class="style1" id="myid">Link</span> 
<span class="style1" id="myid">Link</span> 

$('myid').click(function() { 
    /* put your code here */ 
}); 

Về cơ bản như trên, làm cách nào để thực thi hàm ở trên cho TẤT CẢ các liên kết? Điều này có thể không? Cảm ơn trước.

+1

những gì liên kết? Tất cả những gì tôi thấy trong đánh dấu của bạn là '' ... –

+3

ID ** phải ** là duy nhất. –

+1

'id' phải là duy nhất trong một tài liệu, bạn không thể có các phần tử có cùng' id' – jmoerdyk

Trả lời

11

Sử dụng sau

$('.style1').click(function() {  
    /* put your code here */ 
}); 

này thêm một handler nhấp chuột cho tất cả các yếu tố với lớp chứa style1. Bạn không nên có ID trùng lặp

+0

Cảm ơn bạn! Nó đơn giản như vây thôi! – RiceBucket

2

Trước hết, ID phải là duy nhất. Bạn không nên có nhiều phần tử có cùng ID.

Để chọn theo ID trong jQuery, hãy sử dụng ký tự #. $('#myid'). Điều này sẽ nhận được phần tử đầu tiên với ID đó, vì chỉ nên có một (bạn có thể đánh lừa bằng cách thực hiện $('[id="myid"]') để nhận nhiều phần tử có cùng ID).

Tôi khuyên bạn nên sử dụng một lớp học để chọn tất cả các liên kết của bạn. Các lớp được chọn bằng cách sử dụng ký tự ..

$('.style1').click(function(){}); 
+0

Cảm ơn bạn đã làm rõ! – RiceBucket

21

bạn nên đặt tên các ID duy nhất,

<span class="style1" id="myid1">Link</span> 
<span class="style1" id="myid2">Link</span> 
<span class="style1" id="myid3">Link</span> 
<span class="style1" id="myid4">Link</span> 
<span class="style1" id="myid5">Link</span> 

sau đó sử dụng mã này

$('#myid1,#myid2,#myid3,#myid4,#myid5').click(function() { 
    /* put your code here */ 
}); 
+1

Tôi đề nghị '$ (". Style1 "). Click (function() {// whatever});' – think123

+2

+1 câu trả lời cho câu hỏi ban đầu, nhưng trong trường hợp này, một bộ chọn lớp đơn sẽ thực hiện công việc. – GoodSp33d

Các vấn đề liên quan