Modify ↓
Ticket #2119 (closed bug: fixed)
attr('value') confusion
| Reported by: | arrix | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 1.2.4 |
| Component: | core | Version: | 1.2.1 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
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.
Change History
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.
Note: See
TracTickets for help on using
tickets.

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.