That would definitely make my solution simpler. If it doesn't add too much to the core size, then I'd say yes.

On 10/1/06, Jörn Zaefferer < [EMAIL PROTECTED]> wrote:
Hi folks,

the thread about showing and hiding DDs when clicking DTs gave me an
idea for a chainable if/else construct. I have implemented and tested it
and now I'd like to know if this is useful enough to be released as a
plugin or even adding to the core.

Basically I extended the current is(String _expression_) method. It now
accepts one or two functions. If one is given, it will be executed for
every element that fits the _expression_. If the second function is given,
it will be executed for every element that does not fit the _expression_.

Applied to the click dt to show/hide dd example:
$(document).ready(function() {
    $('#faq').find('dd').hide().end().find('dt').click(function() {
        $(this).next().is(':visible',
            function() { $(this).slideUp(); },
            function() { $(this).slideDown(); }
        );
    });
});

The extended is method looks like this:
    is: function(expr, ifCallback, elseCallback) {
        if(ifCallback) {
            var elseCalllback = elseCallback || function() {};
            return this.each(function() {
                if($(this).is(expr)) {
                    ifCallback.apply(this);
                } else {
                    elseCallback.apply(this);
                }
            });
        }
        return expr ? jQuery.filter(expr,this).r.length > 0 : false;
    },

The strength of this addition: is() returns the jQuery object, therefore
it does not break the chain. Your opinions?

-- Jörn


_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/

Reply via email to