Side navigation
#2119 closed bug (fixed)
Opened January 07, 2008 08:14AM UTC
Closed May 13, 2008 12:43AM UTC
Last modified May 13, 2008 05:28PM UTC
attr('value') confusion
Reported by: | arrix | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.2.4 |
Component: | core | Version: | 1.2.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
I'm not sure whether this is a bug, it is confusing however.
<div id="div1" value="the value"></div> $('#div1').attr('value') //=> undefined
In html, ''property'' and ''attribute'' are usually equivalent and the terms are often used interchangeably. So I think jquery is doing the right thing.
The attr() function gets and sets (X)HTML attributes (as opposed to CSS).
However, your browser will only parse attributes if they are valid (for your DOCTYPE).
Since there is no 'value' attribute for <div> elements, you markup is invalid, and therefore the browser reports the attr as undefined. This is expected behaviour.
$('input').attr('value') might give you something more useful, since inputs do have a value attribute.