2011-10-24 32 views
31

Tôi có đoạn code HTML sau:Đang cập nhật giá trị của thuộc tính dữ liệu sử dụng jQuery

<a class="toggle" href="#toggle"> 
    <img src="app/css/images/tock.png" alt="No" data-id="4" data-block="1"> 
</a> 

Tôi muốn cập nhật giá trị của srcdata-block thuộc tính sử dụng jQuery. Làm thế nào để tôi làm điều này?

Cập nhật: Vì tôi có nhiều yếu tố hình ảnh, tôi muốn cập nhật giá trị của một hình ảnh cụ thể bằng cách sử dụng data-id.

Trả lời

74
$('.toggle img').data('block', 'something'); 
$('.toggle img').attr('src', 'something.jpg'); 

Sử dụng jQuery.datajQuery.attr.

Tôi hiển thị riêng cho bạn để hiểu rõ.

+0

tôi xin lỗi tôi quên đề cập đến, nhưng tôi muốn chọn img cụ thể bằng cách sử dụng dữ liệu-id, chọn nên chọn các yếu tố hình ảnh bằng id dữ liệu ví dụ một cái gì đó như '$ ('chuyển đổi img [dữ liệu-id = 4]')' –

+3

Bạn gần như ở đó: '$ ('toggle img [dữ liệu-id =" 4 "]')' –

+13

FWIW, tôi thấy rằng trong để ghi đè thuộc tính data, bạn phải sử dụng '.attr' chứ không phải' .data'. Điều này là khó hiểu vì jQuery có thể đính kèm dữ liệu vào phần tử, nhưng điều đó có thể không được phản ánh trong dom nếu thuộc tính data đã tồn tại. –

2
$('.toggle img').data('block', 'something').attr('src', 'something.jpg'); 
+0

đây không phải là những gì tôi muốn, tôi đã cập nhật câu hỏi của tôi xin vui lòng có một cái nhìn. –

7
$('.toggle img').each(function(index) { 
    if($(this).attr('data-id') == '4') 
    { 
     $(this).attr('data-block', 'something'); 
     $(this).attr('src', 'something.jpg'); 
    } 
}); 

hoặc

$('.toggle img[data-id="4"]').attr('data-block', 'something'); 
$('.toggle img[data-id="4"]').attr('src', 'something.jpg'); 
+0

sử dụng jQuery.attr chứ không phải jQuery.data, như được đề xuất trong câu trả lời này, gây ra lỗi trong một số trình duyệt. đã ở đó. – TheBigDoubleA

+5

sử dụng dữ liệu thực sự là một gợi ý tốt, nhưng hãy nhớ rằng nó không sửa đổi phần tử dom gốc, mà có thể cung cấp cho các vấn đề với jquery khác mà phụ thuộc vào sự thay đổi của dom. http://www.peterbe.com/plog/data-and-attr-in-jquery –

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