2012-05-02 69 views
7

Tôi đã đặt bản đồ google vào một trang và nó tạo nhiều thẻ img không có thuộc tính alt, làm cách nào tôi có thể thêm alt cho mỗi img trong div trong jquery , có chuyện gì tôi gotta làm thay vì:Cách thêm thuộc tính alt của thẻ img với jquery

$('#map_canvas > img[alt]').attr('image'); 

Cảm ơn

+4

Bạn định xác định văn bản thay thế nào là phù hợp? ('image' hầu như luôn luôn sai lầm khủng khiếp và tệ hơn nhiều so với không có thuộc tính alt nào cả). – Quentin

+0

Tôi đã thử tất cả các mã của bạn và chúng không hoạt động, bạn có chắc chắn tôi không thiếu tập lệnh bao gồm không? Tôi đã có: – user1301411

+0

Trả lời

13

để thiết lập văn bản thay thế cho tất cả các hình ảnh:

$('#map_canvas > img').attr('alt', 'Alternative text'); 

để thiết lập văn bản thay thế cho hình ảnh mà không có alt thuộc tính:

$('#map_canvas > img:not([alt])').attr('alt', 'Alternative text'); 
+0

lạ, có thể tôi thiếu một tập lệnh bao gồm, có một sự khác biệt ngoài những điều này: user1301411

11

Hãy thử:

$("#map_canvas > img:not([alt])").attr("alt", "<YOURALTTEXT>"); 
+1

+1 để không ghi đè hình ảnh đã có thuộc tính 'alt'. –

4

Công việc này:

$('#map_canvas').find('img:not([alt])').attr('alt', 'Alt text'); 
3

Bạn có thể làm:

$('#map_canvas > img[alt=""]').each(function() 
{ 
    $(this).attr('alt', $(this).attr('src'); 
}); 

này sẽ tìm thấy tất cả các hình ảnh trong #map_canvas mà không có một alt thẻ và sau đó đặt thẻ alt giống như hình ảnh src.

Ngoài ra, tôi muốn giới thiệu:

$('#map_canvas > img[alt=""]').attr('alt', 'Alt text'); 

Vì đây sẽ chỉ thêm thẻ alt hình ảnh mà không có một.

2
$('#map_canvas > img').attr('alt', 'alt_text'); 
Các vấn đề liên quan