Side navigation
#8089 closed bug (invalid)
Opened January 29, 2011 10:08AM UTC
Closed January 29, 2011 11:38AM UTC
.attr(map): Quotes seem not to be optional
| Reported by: | anonymous | Owned by: | |
|---|---|---|---|
| Priority: | low | Milestone: | 1.next | 
| Component: | attributes | Version: | 1.4.4 | 
| Keywords: | Cc: | ||
| Blocked by: | Blocking: | 
Description
Don't know whether this is a bug in jquery, a bug in the api-documentation http://api.jquery.com/attr/ or just a missing feature, but I thought it is worth reporting:
This does not work without quotes:
$mydialog.attr({
    role            : 'dialog',
    aria-hidden     : 'false',
    aria-labelledby : 'top'
});
Error in line aria-hidden: Missing : after property id
It works with quotes only:
$mydialog.attr({
    'role'            : 'dialog',
    'aria-hidden'     : 'false',
    'aria-labelledby' : 'top'
});
Attachments (0)
Change History (2)
Changed January 29, 2011 10:54AM UTC by comment:1
| _comment0: | `{aria-hidden : 'false'}` is invalid javascript syntax. You _need_ to enclose the key in quotes if they contain a `-`. \ → 1296298539647905 | 
|---|
Changed January 29, 2011 11:38AM UTC by comment:2
| component: | unfiled → attributes | 
|---|---|
| description: | Don't know whether this is a bug in jquery, a bug in the api-documentation http://api.jquery.com/attr/ or just a missing feature, but I thought it is worth reporting: \ \ This does not work without quotes: \ $mydialog.attr({ \ role : 'dialog', \ aria-hidden : 'false', \ aria-labelledby : 'top' \ }); \ \ Error in line aria-hidden: Missing : after property id \ \ It works with quotes only: \ \ $mydialog.attr({ \ 'role' : 'dialog', \ 'aria-hidden' : 'false', \ 'aria-labelledby' : 'top' \ }); \ \ \ → Don't know whether this is a bug in jquery, a bug in the api-documentation http://api.jquery.com/attr/ or just a missing feature, but I thought it is worth reporting: \ \ This does not work without quotes: \ {{{ \ $mydialog.attr({ \ role : 'dialog', \ aria-hidden : 'false', \ aria-labelledby : 'top' \ }); \ }}} \ Error in line aria-hidden: `Missing : after property id` \ \ It works with quotes only: \ {{{ \ $mydialog.attr({ \ 'role' : 'dialog', \ 'aria-hidden' : 'false', \ 'aria-labelledby' : 'top' \ }); \ }}} | 
| priority: | undecided → low | 
| resolution: | → invalid | 
| status: | new → closed | 
Thanks for taking the time to contribute to the jQuery project by writing a bug report.
After checking your report I conclude that this isn't a bug in jQuery but, as Utkarsh already pointed out, invalid javascript syntax.
{aria-hidden : 'false'}is invalid javascript syntax. You ''need'' to enclose the key in quotes if they contain a-.