Thêm thuộc tính trong jQuery


Câu trả lời:


519

Bạn có thể thêm các thuộc tính bằng cách sử dụng attrnhư vậy:

$('#someid').attr('name', 'value');

Tuy nhiên, đối với các thuộc tính DOM như checked, disabledreadonly, cách thích hợp để làm điều này (kể từ JQuery 1.6) là sử dụng prop.

$('#someid').prop('disabled', true);

28
Đối với tôi $('#someid').prop('disabled', true);không làm việc, nhưng $('#someid').attr('disabled', true);hoạt động tốt.
Vukašin Manojlović

4
Đồng ý với @ VukašinManojlović .. đối với tôi cũng vậy.
sstauross

3
Trước khi bạn quyết định xem bạn sẽ sử dụng attrhay prop, điều quan trọng là phải hiểu sự khác biệt giữa các thuộc tính và thuộc tính. Không hiểu sự khác biệt, bạn có thể gặp phải hành vi bất ngờ. Xem stackoverflow.com/a/6004028/3367343
Travis Hohl

prop có thể được sử dụng như là một thay thế cho attr bây giờ? hoặc nó chỉ được sử dụng trong một số trường hợp đặc biệt?
Chaudhry Waqas

41

Giải pháp tốt nhất: từ jQuery v1.6, bạn có thể sử dụng prop () để thêm thuộc tính

$('#someid').prop('disabled', true);

để loại bỏ nó, sử dụng removeProp()

$('#someid').removeProp('disabled');

Reference

Cũng lưu ý rằng không nên sử dụng phương thức .removeProp () để đặt các thuộc tính này thành false. Khi một thuộc tính gốc được loại bỏ, nó không thể được thêm lại. Xem .removeProp () để biết thêm thông tin.


29

Bạn có thể làm điều này với .attrchức năng của jQuery , nó sẽ đặt các thuộc tính. Loại bỏ chúng được thực hiện thông qua .removeAttrchức năng.

//.attr()
$("element").attr("id", "newId");
$("element").attr("disabled", true);

//.removeAttr()
$("element").removeAttr("id");
$("element").removeAttr("disabled");

1
Tiền thưởng cho việc bao gồm các chức năng loại bỏ!
BoatCode





0

Điều này có thể hữu ích hơn ....

$("element").prop("id", "modifiedId");
//for boolean
$("element").prop("disabled", true);
//also you can remove attribute
$('#someid').removeProp('disabled');

Các thuộc tính và thuộc tính không hoàn toàn giống nhau. Ví dụ: "id" là một thuộc tính, không phải là thuộc tính. Bạn sử dụng .attr()để thiết lập hoặc đọc nó. Xem đoạn "Thuộc tính so với thuộc tính" trong .prop ().attr () trong tài liệu jQuery. Cũng xem câu trả lời của Paul Rosania ở trên.
jkdev


0

sử dụng mã này <script> $('#someid').attr('disabled,'true'); </script>


nó sẽ đẹp hơn nếu bạn có thể có một vài lời giải thích
mooga

Chỉ cần bao gồm liên kết jQuery sau khi viết mã <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> Văn bản bên trong ký hiệu $ chọn tất cả phần tử có id = someid, thuộc tính bị vô hiệu hóa của id này thay đổi thành true
Vildan Bina
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.