Modify ↓
Ticket #2453 (closed bug: fixed)
attr(...) function returns undefined when value is 0
| Reported by: | gtong | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 1.2.4 |
| Component: | core | Version: | 1.2.3 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
The jQuery attribute function returns undefined if the value of the attribute is 0. The HTML code below returns undefined if you select "Foo", but 1 if you select "Bar"
<select id="foo" onChange="alert($('#foo').attr('selectedIndex'))">
<option value="Foo">Foo</option> <option value="Bar" selected>Bar</option>
</select>
This is because of the following line (in jQuery 1.2.3 line # 178)
| "attr" ]( this[0], name ) | undefined; |
| and returns undefined. |
one possible way to fix this is:
if ( this.length ){
var ret = jQuery[ type "attr" ]( this[0], name ); return ret === 0 ? 0 : (ret undefined);
} else
return undefined;
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.

Fixed at [5574], check #2548.