Ticket #10924 (closed bug: invalid)
Safari 5 Win (and others ?) prop/attr works great only with uppercase attributes
| Reported by: | _BenM_ | Owned by: | _BenM_ |
|---|---|---|---|
| Priority: | undecided | Milestone: | None |
| Component: | unfiled | Version: | 1.7.1 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
With disabled and required attributes, prop/attr works fine on Firefox but on Safari 5.1, style is not updated.
I do this in CSS :
input:required:invalid, input:focus:invalid { border-color: red }
input:valid { border-color: green }
This following example doesn't update CSS in Safari :
$('#myid input').prop('required',true).removeProp('disabled');
This one does :
$('#myid input').prop('REQUIRED',true).removeProp('DISABLED');
Change History
comment:1 Changed 18 months ago by sindresorhus
- Owner set to _BenM_
- Status changed from new to pending
comment:2 Changed 18 months ago by anonymous
Sorry, you can close my ticket. I don't know why it works with the second line, but with Safari, "required" attribute must be change AFTER "disabled".
So :
$('#myid input').removeProp('disabled').prop('required',true);
works.
And, on multiple examples, Safari prefer prop('required','required') than prop('required',true).
comment:3 Changed 17 months ago by trac-o-bot
- Status changed from pending to closed
- Resolution set to invalid
Because we get so many tickets, we often need to return them to the initial reporter for more information. If that person does not reply within 14 days, the ticket will automatically be closed, and that has happened in this case. If you still are interested in pursuing this issue, feel free to add a comment with the requested information and we will be happy to reopen the ticket if it is still valid. Thanks!
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Thanks for taking the time to contribute to the jQuery project! Please provide a complete reduced test case on jsFiddle to help us assess your ticket.
Additionally, be sure to test against the jQuery Edge version to ensure the issue still exists. To get you started, use this boilerplate: http://jsfiddle.net/FrKyN/ Open the link and click to "Fork" (in the top menu) to get started.