The problem there is I don't think it's a good idea to throw out output 
which makes this kind of thing illegal:
e.style.margin = $(node).css('margin');

Which is why I made note of a technique like so:

var top = ..., right = ..., ...;
return {
    top: top, right: right, bottom: bottom, left: left,
    0: top, 1: right, 2: bottom, 3: left,
    toString: function() { return [top, right, bottom, left].join(' '); }
};

~Daniel Friesen (Dantman, Nadir-Seen-Fire)

Stephen McKamey wrote:
> In thinking more about the deeper problem, it seems to me an array of
> the values is the right answer.  Each value in the array would
> correspond to the value returned if querying the simple property.  I
> am unable to think of a CSS compound property that doesn't denote its
> parts delimited by whitespace.  This means that it would be possible
> to return meaningful data.
>
> So if the browser returns "5px 5px 5px 5px" then jQuery returns an
> array of values simply in the order the browser gives it, but if it
> returns "5px" then it acts as it currently does.  Then the user of
> this method can determine if it is compound or not based upon if it is
> handed a collection or scalar value.  Then the method using the value
> can grab the appropriate piece of information and not need to re-
> implement the parsing/retrieval logic.
>
> On May 7, 9:51 am, Stephen McKamey <[email protected]> wrote:
>   
>> Yes, I agree that the use-case is in question.  We ran into this when
>> a using the autogrow plugin:
>>
>>    http://plugins.jquery.com/project/autogrow
>>
>> This plugin should be modified to check the appropriate sides and
>> handle correctly.
>>
>> On the other hand, I don't think that crashing is an appropriate
>> response from jQuery.  I would be happy if it simply returned the
>> string value as this is at least recoverable and makes more sense than
>> "Error: invalid argument".
>>
>> On May 6, 8:08 pm, Brandon Aaron <[email protected]> wrote:
>>
>>     
>>> I believe that is exactly what we are trying to do. There is an ongoing
>>> discussion about how to handle retrieval of CSS shorthand properties in the
>>> ticket 4295 (http://dev.jquery.com/ticket/4295). I think most of the
>>> confusion, at least for me, has been around the use-case for getting the
>>> short-hand. The reason for my first question... trying to understand the
>>> actual need. From this thread (and the ticket) it sounds like maybe the
>>> developer just needs to copy the padding from one element to another.
>>> Reasonable use-case but what about when the developer wants to copy the
>>> "background" property. Isn't it more confusing to support just a subset
>>> versus all the shorthands? Maybe a better solution is to find a better way
>>> to copy CSS from one element to another... if that really is the primary
>>> use-case for supporting CSS shorthand properties.
>>>       
>>> --
>>> Brandon Aaron
>>>       
>>> On Wed, May 6, 2009 at 9:36 PM, Matt Kruse <[email protected]> wrote:
>>>       
>>>> On May 6, 8:28 pm, Brandon Aaron <[email protected]> wrote:
>>>>         
>>>>> Out of curiosity... what are you expecting back from the call to padding
>>>>> when it is different for top/bottom vs left/right?
>>>>>           
>>>> I think an equally valid question is... what does jQuery intend to do
>>>> in such situations? Clearly, crashing is not the best option.
>>>>         
>>>> Anything that causes the code to completely crash should be avoided by
>>>> either checking for valid input (if some inputs are considered
>>>> invalid) or by deciding how to handle cases that don't have obvious
>>>> answers (like this case). It's not enough, IMO, to ignore the tough
>>>> questions of how jQuery should behave and point to an alternative. :)
>>>>         
>>>> In the example case:
>>>>         
>>>> #foo { padding: 5px 10px; }
>>>>         
>>>> you may want to consider returning [5,10,5,10] for example.
>>>>         
>>>> Matt Kruse
>>>>         
> >
>   

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to