On Mon, Jan 17, 2011 at 10:54 PM, Diego Perini <[email protected]>wrote:

> On Mon, Jan 17, 2011 at 11:52 PM, Miller Medeiros
> <[email protected]> wrote:
> > >
> > $('#my-check-box').attr('checked', true);  -> should work cross browser
> if
> > it is a checkbox.
> >
> > and you can check if a checkbox is checked by using
> > `$('#my-check-box').is(':checked')`...
> >
>
> these two $() statements alone deserve a long chapter by themselves to
> exactly explain all the inconsistencies that may arise by using them
> together (probably even for checkboxes). There is also a problem with
> mixing strings and booleans to consider in your example (or in jQuery
> anyway).
>
> Comparing values obtained by direct DOM properties access
> (pseudo-selector) with values obtained by accessing HTML attributes
> through getter/setter in that way is scary at best (maybe worth a
> digest in JSMentors).
>
>
I would like to know the reason besides the fact that I passed `true`
instead of 'checked' - which I believe works just fine.. - and used
`is(':checked')` instead of  `attr('checked')` - which I agree is kinda
weird.

I have no idea how jQuery handles those things internally, but depending on
how the `is(':checked')` is implemented there shouldn't be any
inconsistencies (if it really checks the proper attribute instead of doing a
selector query..).

cheers.

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to