jQuery: .attr() vs .prop()
Original state Vs. Current state
Both attr() and prop() are used to get or set the value of the specified property of an element attribute, but attr() returns the default value (Original state) of a property whereas prop() returns the current value (Current state).
Attributes provide additional information about an HTML element : for example < input id="some_id" value="some_value" > basically they are things with name="value" in HTML constructs the point though what is contained in the original HTML file . Once the HTML is loaded and placed into the DOM HTML structure, then it becomes a node in that tree and it becomes a property of that node. Content wise those things are the same, except if you modify.
jQuery.attr() Vs. jQuery.prop()
- .attr() changes attributes for that HTML tag.
- .prop() changes properties for that HTML tag as per the DOM tree.
In many cases the returned item will be the same - but keep in mind one is the current state Vs. the original state .
JQuery is a changing library and sometimes they make regular improvements. The difference between attributes and properties can be important in specific situations. Before jQuery 1.6, the .attr() method sometimes took property values into account when retrieving some attributes, which could cause inconsistent behaviour . As of jQuery 1.6, the .prop() method provides a way to explicitly retrieve property values, while .attr() retrieves attributes.
In the majority of cases, prop() does what attr() used to do. Replacing calls to attr() with prop() in your code will generally work. So, it is advised that if you are using a later version of JQuery you should use .prop() whenever possible.
- jQuery Interview Questions FAQ - 1
- jQuery Interview Questions FAQ - 2
- Is jQuery a programming language?
- Why do we need to go for JQuery?
- How to check jQuery version?
- How to multiple version of jQuery?
- What is jQuery CDN?
- Advantages of minified version of JQuery
- How do I check if the DOM is ready?
- How to Use the jQuery load() Method
- Difference between document.ready() and body onload()?
- What is the use of param() method?
- How to work with jQuery parent(), children() and siblings()?
- Difference between parent() and parents() in jQuery?
- What does jQuery data() function do?
- How do you check if an element exists or not in jQuery?
- How do I check if an HTML element is empty using jQuery?
- How to run an event handler only once in jQuery?
- How to disable/enable an element with jQuery
- Hide and show image on button click using jQuery
- How do I check if an element is hidden in jQuery?
- What happen if you return false from a jQuery event handler?
- What is each() function in jQuery? How do you use it?
- Which one is more efficient, document.getElementbyId( "myId") or $("#myId)?
- What is the difference between $.map and $.grep in jQuery
- What is the use of serialize method in jQuery
- What is the use of clone method in jQuery?
- What is event.PreventDefault in jQuery?
- Difference between event.PreventDefault and event.stopPropagation?
- What are deferred and promise object in jQuery?