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?

Chỉnh sửa
Hani Pham 08 May 2017

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

Thêm bình luận
Huỷ

2 Câu Trả Lời

Phan Quang
  • 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()
Thêm bình luận
Huỷ
IT Pro

.attr() changes attributes for that HTML tag.

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

Thêm bình luận
Huỷ

Thêm Trả Lời

Câu Hỏi Liên Quan