Trong các phiên bản jQuery trước 1.6, hãy sử dụng:
$('input[name="correctAnswer"]').attr('checked', false);
Trong các phiên bản jQuery sau 1.6, bạn nên sử dụng:
$('input[name="correctAnswer"]').prop('checked', false);
nhưng nếu bạn đang sử dụng 1.6.1+, bạn có thể sử dụng mẫu đầu tiên (xem ghi chú 2 bên dưới).
Lưu ý 1: điều quan trọng là đối số thứ hai là sai và không "sai" vì "false" không phải là giá trị giả. I E
if ("false") {
alert("Truthy value. You will see an alert");
}
Lưu ý 2: Kể từ jQuery 1.6.0, hiện có hai phương thức tương tự nhau .attr
và .prop
thực hiện hai điều liên quan nhưng hơi khác nhau. Nếu trong trường hợp cụ thể này, lời khuyên cung cấp ở trên hoạt động nếu bạn sử dụng 1.6.1+. Ở trên sẽ không hoạt động với 1.6.0, nếu bạn đang sử dụng 1.6.0, bạn nên nâng cấp. Nếu bạn muốn biết chi tiết, hãy tiếp tục đọc.
Thông tin chi tiết: Khi làm việc với các phần tử HTML DOM thẳng, có tài sản gắn liền với yếu tố DOM ( checked
, type
, value
, vv) mà cung cấp một giao diện sang trạng thái hoạt động của các trang HTML. Ngoài ra còn có giao diện .getAttribute
/ .setAttribute
cung cấp quyền truy cập vào các giá trị Thuộc tính HTML như được cung cấp trong HTML. Trước 1.6 jQuery làm mờ sự khác biệt bằng cách cung cấp một phương thức .attr
, để truy cập cả hai loại giá trị. jQuery 1.6+ cung cấp hai phương thức .attr
và .prop
để phân biệt giữa các tình huống này.
.prop
cho phép bạn đặt thuộc tính trên thành phần DOM, đồng thời .attr
cho phép bạn đặt giá trị thuộc tính HTML. Nếu bạn đang làm việc với DOM đơn giản và đặt thuộc tính được kiểm tra elem.checked
, thành true
hoặc false
bạn thay đổi giá trị đang chạy (những gì người dùng nhìn thấy) và giá trị được trả về sẽ theo dõi trạng thái trên trang. elem.getAttribute('checked')
tuy nhiên chỉ trả về trạng thái ban đầu (và trả về 'checked'
hoặc undefined
tùy thuộc vào trạng thái ban đầu từ HTML). Trong 1.6.1+, việc sử dụng .attr('checked', false)
cả hai elem.removeAttribute('checked')
và elem.checked = false
do thay đổi đã gây ra nhiều vấn đề tương thích ngược và thực sự không thể biết bạn muốn đặt thuộc tính HTML hay thuộc tính DOM. Xem thêm thông tin trong tài liệu cho .prop .
#(selector).prop('checked',true);
sẽ không thành công khi cố gắng đặt nút radio tiếp theo trong cùng nhóm thành trạng thái không được kiểm tra. Mẹo nhỏ là chỉ đặt nút radio ở trạng thái đã chọn và để nhóm nút radio thực hiện công việc đó (bỏ chọn các nút khác ...) . Ngoài ra, gọi$(selector).click();
các công trình, và sẽ sa thải bất kỳ sự kiện liên kết.