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

Ticket #4669: elementmethods.patch

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

Patch described above (I'm on Windows, but I think the newlines are Unix-flavored)

  • prototype.js

    old new  
    11021102    if (element._overflow) return; 
    11031103    element.style.overflow = element._overflow; 
    11041104    element._overflow = undefined; 
    1105   } 
     1105  }, 
     1106   
     1107  getElementsByClassName: function(element, className) { 
     1108    var children = ($(element) || document.body).getElementsByTagName('*'); 
     1109        return $A(children).inject([], function(elements, child) { 
     1110          if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) 
     1111      elements.push(Element.extend(child)); 
     1112      return elements; 
     1113    }); 
     1114  }, 
     1115 
     1116  getElementsBySelector: function() { 
     1117    var args = $A(arguments), element = args.shift(); 
     1118    return args.map(function(expression) { 
     1119      return expression.strip().split(/\s+/).inject([null], function(results, expr) { 
     1120        var selector = new Selector(expr); 
     1121        return results.map(selector.findElements.bind(selector, element)).flatten(); 
     1122                        }); 
     1123                }).flatten(); 
     1124        }        
    11061125} 
    11071126 
    11081127Object.extend(Element, Element.Methods);