| 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 | } |
|---|