jQuery .prop() và .attr() khác nhau như thế nào?

Trong jQuery cả hai phương thức prop()attr() đều đc sử dụng để thay đổi giá trị một phương thức của phần tử. Ví dụ như để vô hiệu hoá một button thì cả hải đoạn mã đưới đều có thể được sử dụng:

$("button").prop("disabled", true);

$("button").attr("disabled", true);

Vậy thì hai phương thức này có khác nhau hay không và khác nhau như thế nào?

Hói 10 tháng trước
Bình Luận (1)
Hani Pham  Hani Pham thêm bình luận   6 tháng trước

Bạn có tham khảo thêm ở link này để thêm thông tin: http://www.codehub.vn/Phan-Biet-Attribute-va-Property-trong-JavaScript-va-HTML

.attr() changes attributes for that HTML tag.

.prop() changes properties for that HTML tag as per the DOM tree.

Trả lời 10 tháng trước
  • attr = attribute -> thuộc tính của thẻ html
  • prop = property -> thuộc tính của dom element

  • attr luôn trả về chuỗi, prop trả về giá trị (chuỗi, số, bool)
  • attr làm thay đổi cấu trúc html, prop thì không.

Vd:

<input type="text" id="id1">

Attr:

$("#id1").attr("type", "password") => html sẽ đổi thành password, prop thì không, nhưng value vẫn là password.

  • mỗi html attribute tương ứng với 1 element property, nhưng không phải toàn bộ. Ví dụ custom attribute không sử dụng được trong prop()
Trả lời 9 tháng trước

Viết Trả Lời: