Prop function in jQuery 1.6 Monday, May 30, 2011

One of the new features included in jQuery 1.6 version is the new prop function. The prop means property which has ability to find any property on the given selector and retrieve it’s value.

Example

< input id ="myTxt" type ="text" name ="myTextBox" value ="This is the input text box value" />

We have four properties: id, type, name, value. Now, we can retrieve any of these values on the following way

< script src ="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js" type ="text/javascript"></ script >

< script type ="text/javascript"> $( function () { var name = $( "#myTxt" ).prop( "name" ); alert(name); }); </ script >

The result will be myTextBox.

It’s interesting to mention that before v1.6, the job for prop() was done by attr() function. As from jQuery 1.6, the prop() will be used to retrieve property values, while attr() for attributes.

The following example gives clear distinction between these two (from jQuery docs website):

<input type="checkbox" checked="checked" />

$(elem).prop("checked")- true (Boolean)

elem.getAttribute("checked")- "checked" (String)

$(elem).attr("checked")(1.6+) - "checked" (String)

$(elem).attr("checked")(pre-1.6) - true (Boolean)

So, from jQuery v1.6, if we use attr() to get the checkbox checked value, it will return us the string “checked” (if it’s checked). On the other hand, if we use prop() it will return us true which is according to the W3C forms specification.

If you work either with ASP.NET MVC or WebForms, this will be very useful for those working heavily with jQuery.

You can read more about prop() on the following link: http://api.jquery.com/prop/

Hope this was helpful.

Regards,

Hajan