Changeset 4876
- Timestamp:
- 08/30/06 16:14:32 (2 years ago)
- Files:
-
- spinoffs/prototype/CHANGELOG (modified) (1 diff)
- spinoffs/prototype/src/dom.js (modified) (1 diff)
- spinoffs/prototype/test/unit/dom.html (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
spinoffs/prototype/CHANGELOG
r4875 r4876 1 1 *SVN* 2 3 * Add Element.Methods.getElementsByClassName and Element.Methods.getElementsBySelector. Closes #4669. [Andrew Dupont, DHH, sam] 2 4 3 5 * Avoid race condition when stopping an Ajax.PeriodicalUpdater. Closes #4809. [e98cuenc@gmail.com] spinoffs/prototype/src/dom.js
r4858 r4876 96 96 } 97 97 setTimeout(function() {html.evalScripts()}, 10); 98 }, 99 100 getElementsByClassName: function(element, className) { 101 element = $(element); 102 return document.getElementsByClassName(className, element); 103 }, 104 105 getElementsBySelector: function() { 106 var args = $A(arguments), element = args.shift(); 107 return $$.apply(null, args).select(function(potentialChild) { 108 return potentialChild.childOf(element); 109 }); 98 110 }, 99 111 spinoffs/prototype/test/unit/dom.html
r4859 r4876 38 38 </tbody> 39 39 </table> 40 </div> 41 42 <p class="test">Test paragraph outside of container</p> 43 44 <div id="container"> 45 <p class="test" id="intended">Test paragraph 1 inside of container</p> 46 <p class="test">Test paragraph 2 inside of container</p> 47 <p class="test">Test paragraph 3 inside of container</p> 48 <p class="test">Test paragraph 4 inside of container</p> 40 49 </div> 41 50 … … 95 104 Element.update('table','<tr><td>boo!</td></tr>'); 96 105 assertMatch(/^<tr>\s*<td>boo!<\/td><\/tr>$/,$('table').innerHTML.toLowerCase()); 106 }}, 107 108 testElementSelectorMethod: function() {with(this) { 109 var testSelector = $('container').getElementsBySelector('p.test'); 110 assertEqual(testSelector.length, 4); 111 assertEqual(testSelector[0], $('intended')); 112 assertEqual(testSelector[0], $$('#container p.test')[0]); 113 }}, 114 115 testElementClassNameMethod: function() {with(this) { 116 var testClassNames = $('container').getElementsByClassName('test'); 117 var testSelector = $('container').getElementsBySelector('p.test'); 118 assertEqual(testClassNames[0], $('intended')); 119 assertEqual(testClassNames.length, 4); 120 assertEqual(testSelector[3], testClassNames[3]); 121 assertEqual(testClassNames.length, testSelector.length); 97 122 }} 98 99 123 }, 'testlog'); 100 124