Well, writing

myElem.conditionalAdopt(elema, elemb, elemc);

is a couple of characters shorter than writing

if (elema) {
  myElem.grab(elema);
}
if (elemb) {
  myElem.grab(elemb);
}
if (elemc) {
  myElem.grab(elemc);
}

(even when minified), so if you use this pattern a lot, it could pay off. :)


Pragmatically, to reduce DOM manipulation, wouldn't this implementation of the function be somewhat more efficient:

Element.implement({
  conditionalAdopt: function() {
    var els = [];
    $A(arguments).each(function(item) {
      item = document.id(item);
      if (item) els.push(item);
    }
    return this.adopt(els);
  }
});

On 30/03/2010 5:23 PM, Oskar Krawczyk wrote:

    ... on the web where every byte counts.


Haven't heard anyone saying that since 1999 - you know, 56K modems and all :-)

    2010/3/29 jacob <[email protected]
    <mailto:[email protected]>>

        Anyone ever implemented something like this? or have a nicer
        way of
        doing it?

        http://mootools.net/shell/KPPNg/

        Element.implement({

           conditionalAdopt: function(){
               if(Array.prototype.splice.apply(arguments,[0,1])[0]){
                   Array.flatten(arguments).each(function(element){
                       element = document.id
        <http://document.id>(element, true);
                       if (element) this.appendChild(element);
                   }, this);
                   return this;
               }
               return this;
           }

        });

        To unsubscribe from this group, send email to
        mootools-users+unsubscribegooglegroups.com
        <http://unsubscribegooglegroups.com> or reply to this email
        with the words "REMOVE ME" as the subject.


    To unsubscribe from this group, send email to
    mootools-users+unsubscribegooglegroups.com
    <http://unsubscribegooglegroups.com> or reply to this email with
    the words "REMOVE ME" as the subject.


To unsubscribe from this group, send email to mootools-users+unsubscribegooglegroups.com or reply to this email with the words "REMOVE ME" as the subject.


--
Not sent from my Apple ?Phone

To unsubscribe from this group, send email to mootools-users+unsubscribegooglegroups.com 
or reply to this email with the words "REMOVE ME" as the subject.

Reply via email to