The difference between attr and prop in jquery
When should I use prop after the introduction of the prop method in the high version of jquery? When do you use attr? What's the difference between the two of them? These problems have arisen.
There are a lot of answers on the internet about their two differences. Here to talk about my experience, my experience is very simple:
- For HTML elements that have intrinsic properties, use the Prop method when processing.
- For HTML elements our own custom DOM properties, when processing, use the Attr method.
The above description may be a little vague, as you can see in a few examples.
<a href= "http://www.baidu.com" target= "_self" class= "BTN" > Baidu </a>
In this example, the DOM attribute of the <a> element has "href, target, and class", which is the property of the <a> element itself, and is a property that is included in the standard, or that can be intelligently prompted in the IDE. These are called intrinsic properties. The prop method is recommended when working with these properties.
<a href= "#" id= "Link1" action= "delete" > Delete </a>
In this example, the DOM attribute of the <a> element has "href, id, and action", and it is clear that the first two are intrinsic properties, and the next "action" attribute is our own custom,<a> element itself without this attribute. This is a custom DOM property. The attr method is recommended when working with these properties. When you use the Prop method to take values and set property values, the undefined value is returned.
One more example:
<input id= "Chk1" type= "checkbox"/> Visible
<input id= "Chk2" type= "checkbox" checked= "checked"/> Visible
For elements like Checkbox,radio and select, the selected attribute corresponds to "checked" and "selected", which are also intrinsic properties, so you need to use the Prop method to operate to get the correct results.
$ ("#chk1"). Prop ("checked") = = false$ ("#chk2"). Prop ("checked") = = True
If the attr method is used above, it will appear:
$ ("#chk1"). attr ("checked") = = undefined$ ("#chk2"). attr ("checked") = = "Checked"
Complete the full text.
jquery Study Notes (6) The difference between attr and prop in--jquery "incisive"