On Jan 18, 2011, at 8:04 PM, Garrett Smith wrote:

> On 1/18/11, fernando trasvina <trasv...@gmail.com> wrote:
>> 
>> 
>> On Jan 18, 2011, at 6:31 PM, Garrett Smith wrote:
>> 
>>> On 1/18/11, fernando trasvina <trasv...@gmail.com> wrote:
>>>> 
>>>> On Jan 18, 2011, at 2:04 PM, Garrett Smith wrote:
>>>> 
>>>>> On 1/17/11, Miller Medeiros <lis...@millermedeiros.com> wrote:
>>>>>> On Mon, Jan 17, 2011 at 10:54 PM, Diego Perini
>>>>>> <diego.per...@gmail.com>wrote:
>>>>>> 
>>>>>>> On Mon, Jan 17, 2011 at 11:52 PM, Miller Medeiros
>>>>>>> <lis...@millermedeiros.com> 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..).
>>>> 
>>>> because any truthy value passed checks the input so 'checked' is truthy
>>>> 
>>>> Also jQuery works fine setting the value via .attr method and sets the
>>>> correct value in the correct object and property
>>>> 
>>> I've already explained why that is false. And there are a ton more
>>> explanations on c.l.js.
>>> 
>>> An input's `checked attribute is not the same as its property.
>>> 
>>> again:
>>> inp.checked; // property
>>> inp.getAttribute("checked"); // attribute value -- must be a string!
>> 
>> run this with the jquery api and you will see that running .attr('checked',
>> true) does not sets the attribute. sets the property
>> so it works as it should.
>> 
> 
> So in y9our opinion, `attr` should set not attributes but
> *properties*. And since that is waht `attr` does, then it is correct.
> Strange and irrelevant.
> 
> jQuery doc has a different take on it:
> http://api.jquery.com/attr/
> | .attr( attributeName ) Returns: String
> |
> | Description: Get the value of an attribute for the
> | first element in the set of matched elements.
> 
> The docs for `attr' says it returns "String". According the jQUery
> docs, what attr returns is wrong because it is not always a string.
> [...]
> -- 
> Garrett

I think that if documentation is not accurate or does not reflect what actually 
running certain code does its just lack of documentation but nothing more.
its not my opinion what jQuery should do im just pointing what it does.

$('#inpt').attr('checked', true)
$('#inpt')[0].checked //true

i executed that on firefox earlier.

> 
> -- 
> To view archived discussions from the original JSMentors Mailman list: 
> http://www.mail-archive.com/jsmentors@jsmentors.com/
> 
> To search via a non-Google archive, visit here: 
> http://www.mail-archive.com/jsmentors@googlegroups.com/
> 
> To unsubscribe from this group, send email to
> jsmentors+unsubscr...@googlegroups.com

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/jsmentors@jsmentors.com/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/jsmentors@googlegroups.com/

To unsubscribe from this group, send email to
jsmentors+unsubscr...@googlegroups.com

Reply via email to