$("input").attr("disabled", true);
kể từ ... tôi không biết gì nữa.
Đó là tháng 12 năm 2013 và tôi thực sự không biết phải nói gì với bạn.
Đầu tiên là luôn luôn .attr()
, sau đó là luôn luôn .prop()
, vì vậy tôi quay lại đây để cập nhật câu trả lời và làm cho nó chính xác hơn.
Sau đó một năm, jQuery đã thay đổi suy nghĩ của họ một lần nữa và tôi thậm chí không muốn theo dõi điều này.
Câu chuyện dài, tính đến thời điểm hiện tại, đây là câu trả lời tốt nhất: "bạn có thể sử dụng cả hai ... nhưng nó phụ thuộc."
Thay vào đó, bạn nên đọc câu trả lời này: https://stackoverflow.com/a/5876747/257493
Và ghi chú phát hành của họ cho sự thay đổi đó được bao gồm ở đây:
Không nên sử dụng .attr () hay .prop () để nhận / cài đặt giá trị. Sử dụng phương thức .val () thay vào đó (mặc dù sử dụng .attr ("value", "somevalue") sẽ tiếp tục hoạt động, như đã làm trước 1.6).
Tóm tắt về cách sử dụng ưa thích
Phương thức .prop () nên được sử dụng cho các thuộc tính / thuộc tính boolean và cho các thuộc tính không tồn tại trong html (như window.location). Tất cả các thuộc tính khác (những thuộc tính bạn có thể thấy trong html) có thể và nên tiếp tục được thao tác với phương thức .attr ().
Hay nói cách khác:
".prop = công cụ phi tài liệu"
".attr" = công cụ tài liệu
... ...
Tất cả chúng ta có thể học một bài học ở đây về tính ổn định của API ...