Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #4669: elementmethods_src.patch

File elementmethods_src.patch, 1.1 kB (added by blog@andrewdupont.net, 2 years ago)

Diffed against dom.js rather than prototype.js

  • dom.js

    old new  
    234234    if (element._overflow) return; 
    235235    element.style.overflow = element._overflow; 
    236236    element._overflow = undefined; 
    237   } 
     237  }, 
     238   
     239  getElementsByClassName: function(element, className) { 
     240    var children = ($(element) || document.body).getElementsByTagName('*'); 
     241        return $A(children).inject([], function(elements, child) { 
     242          if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) 
     243      elements.push(Element.extend(child)); 
     244      return elements; 
     245    }); 
     246  }, 
     247 
     248  getElementsBySelector: function() { 
     249    var args = $A(arguments), element = args.shift(); 
     250    return args.map(function(expression) { 
     251      return expression.strip().split(/\s+/).inject([null], function(results, expr) { 
     252        var selector = new Selector(expr); 
     253        return results.map(selector.findElements.bind(selector, element)).flatten(); 
     254          }); 
     255    }).flatten(); 
     256  }      
    238257} 
    239258 
    240259Object.extend(Element, Element.Methods);