Commit Graph

1652 Commits

Author SHA1 Message Date
jeresig
366039a6f0 Revert "Adding in backwards-compatiblity support for jQuery().bind/unbind/trigger - and immediately deprecating it. Please explicitly use jQuery(document) in your code."
This reverts commit e9d5947b4a.
2010-01-11 13:48:40 -05:00
jeresig
5a0ac24e35 Make sure that submit event is still bound for regular form submit events. Thanks to Mark Gibson for the fix suggestion. 2010-01-11 12:26:28 -05:00
jeresig
d6d5ed4c68 Merge branch 'setterargs' 2010-01-07 14:26:06 -05:00
jeresig
0e5370b89c Re-ordering the args to setOffset() in case people were relying upon the old order (doubtful). 2010-01-07 14:08:32 -05:00
jeresig
4fa00369f0 Added in support for .offset(Function). 2010-01-07 14:07:21 -05:00
jeresig
8fa9e9d6d0 Make sure that .html(Function) gets the correct previous value. 2010-01-07 13:33:30 -05:00
jeresig
a9665bbe9b Make sure the exception has some level of parity with the error from json2.js. 2010-01-07 12:25:50 -05:00
jeresig
308d6cdad0 Make sure that a parsererror is thrown whenever malformed JSON comes back from a server (so that the Ajax error handler is called). Makes it uniform across browsers that do and don't have JSON.parse support. 2010-01-07 12:21:58 -05:00
jeresig
c14fa516ae Back out the try/catch logic from around JSON.parse. We should always try to use it, otherwise security will suffer. 2010-01-07 11:54:26 -05:00
jeresig
21e15219be Removed .removeAttr(Function), it didn't really make sense. 2010-01-07 11:14:56 -05:00
jeresig
d36b29fa8e Make sure the state is passed in to the toggleClass attribute function. 2010-01-07 11:04:21 -05:00
jeresig
c68fbc2071 There's enough logic going on in jQuery.ajaxSettings.xhr to warrant splitting the function based upon the functionality. 2010-01-07 10:00:55 -05:00
jeresig
4681216c4b Fixed some bugs relating to the setter arg change in val and html. Also optimized the code in val a bit. 2010-01-07 09:53:16 -05:00
jeresig
2526e29353 Fixing some bugs in the re-tooling of toggleClass, adding in some performance optimizations. 2010-01-06 15:23:30 -05:00
jeresig
600d314538 A first pass at making sure that all the setter function arguments receive the index of the element and a relevant value to work with. Fixes #5763. 2010-01-06 15:08:07 -05:00
jeresig
e424e01c47 Merge branch 'master' of github.com:jquery/jquery 2010-01-06 11:32:39 -05:00
jeresig
e9d5947b4a Adding in backwards-compatiblity support for jQuery().bind/unbind/trigger - and immediately deprecating it. Please explicitly use jQuery(document) in your code. 2010-01-06 11:32:29 -05:00
Filipe Fortes
0d1a2c1b11 Make sure to do a deep copy on arrays. #5750 2010-01-07 00:11:22 +08:00
jeresig
6861b5d4eb Added in support for content-type sniffing for scripts. Fixes #5718. 2010-01-06 10:19:38 -05:00
Rick Waldron
787f271052 Detect JSON Ajax requests by the response content-type (like is done with XML). Fixes #5709. 2010-01-05 19:48:16 -05:00
jeresig
230614b4df Merging in jQuery.proxy() branch. 2010-01-05 19:18:39 -05:00
jeresig
8db0dd2c64 Added in a holdover jQuery.event.guid for back-compat (two plugins use it: mousewheel and a datepicker). Plugin authors should work to stop using jQuery.event.guid and jQuery.event.proxy ASAP. 2010-01-05 19:17:28 -05:00
jeresig
0645b71ee6 Merge branch 'useragent' 2010-01-05 19:10:42 -05:00
jeresig
ff3645ee05 Try to use the native JSON parser in all cases and fallback to the old technique otherwise. This allows us to also handle cases where the JSON parser is unable to parse JSON-like strings correctly (e.g. {foo:bar}) which is something that worked before but would stop working with the switch to the new parser. 2010-01-05 17:33:41 -05:00
jeresig
ffb1867a43 Rewrite of jQuery.browser to become engine-centric, rather than browser-centric. Also attempt to determine the engine version in a smarter fashion, less prone to error. Finally, enhanced the test suite with 255 useragent strings from http://user-agent-string.info/download for testing. jQuery.browser.safari is now deprecated, use jQuery.browser.webkit instead. 2010-01-05 17:01:20 -05:00
jeresig
3f648c4e3a Make sure that the ActiveX exception is caught if it's unable to be loaded. Fixes #2849. 2010-01-05 11:35:11 -05:00
jeresig
b2289f3ec1 Try to use XMLHttpRequest in more cases in IE 7. Thanks to Matt Kruse and Sam Collett for the suggestions. Fixes #3623, #2849, #5338, and #5529. 2010-01-05 10:57:30 -05:00
John Resig
25ee9cee26 Update the copyright from 2009 to 2010. 2010-01-03 20:04:24 -05:00
jeresig
1d2b1a57da Added in jQuery.proxy(obj, name), like the method described in Secrets of the JavaScript Ninja and in Dojo's Hitch, and added in some unit tests. 2009-12-31 15:17:52 -05:00
jeresig
a5dbca4a06 Moved jQuery.proxy() into core. 2009-12-31 15:06:45 -05:00
jeresig
40ce7f9830 Merge branch 'bug-5735' 2009-12-31 14:49:01 -05:00
jeresig
6cb2945837 Rather than declaring empty anonymous functions all around, introduce and use a single empty function. Thanks to Matt Kruse for the suggestion. 2009-12-31 09:50:49 -05:00
jeresig
ea5d514008 When .bind('unload') was called it accidentally went recursive, from 1bac61655b. Fixes #5688. 2009-12-31 00:49:53 -05:00
jeresig
66975de2d2 Remove the .bind(name, fn, thisObject) and promote jQuery.event.proxy() to jQuery.proxy() as alternative to handling scoping on callbacks. Fixes #5736. 2009-12-31 00:37:23 -05:00
jeresig
fe6c86d530 Experiment switching to using onreadystatechange rather than a setInterval for Ajax requests. Fixes #5735. 2009-12-30 23:53:06 -05:00
jeresig
a00e63ea5a Make a feature detect for the attribute selected code. Fixes #5702. 2009-12-22 15:46:54 -05:00
jeresig
7b0b348419 The option isn't, necessarily, hidden when this occurs. 2009-12-22 15:06:27 -05:00
jeresig
4729f4d443 Make sure that selected works in Safari on options in optgroups. Fixes #5701. 2009-12-22 15:02:52 -05:00
jeresig
baff0b0c85 Merge branch 'master' of github.com:jquery/jquery 2009-12-22 13:53:04 -05:00
jeresig
9360cccc9e Forgot to make sure that oldData actually had data in it before the copy attempt. 2009-12-22 13:28:46 -05:00
Ben Alman
3951894504 Moved jQuery.param "traditional" flag into jQuery.ajaxSettings, can now be overridden via 2nd argument to jQuery.param 2009-12-23 01:49:53 +08:00
jeresig
7d0c18034e Explicitly re-bind the events on clone. Copying over the data isn't enough. Fixes #5681. 2009-12-22 12:04:17 -05:00
jeresig
e87b090cb7 The logic for specified option values was already handled by .val(), removed the unnecessary code. 2009-12-22 02:03:41 -05:00
jeresig
1e64d58183 Make sure that the correct value is being pulled from checkboxes in Webkit. Fixes #5699. 2009-12-22 02:00:46 -05:00
jeresig
1b67aaee74 Make sure that the correct value is retreived for options that have no value specified, in IE 6. Continues to fix #5697. 2009-12-22 01:28:37 -05:00
jeresig
f298cce100 Made sure that the .val() logic for setting radios and checkboxes was correct. Fixes #5698. 2009-12-22 01:18:49 -05:00
jeresig
261b7efb5f Fixed the issue where getting an empty value was impossible. Fixes #5697. 2009-12-22 00:24:23 -05:00
jeresig
7e69fdbad4 Fixed spelling mistake noted in dc6b7ce3469eaadb37a151d449e8d36571d1894. 2009-12-21 20:19:49 -05:00
jeresig
3776cbe314 Standardize on using double-quotes for string literals. 2009-12-21 20:13:16 -05:00
jeresig
61e37d4149 Made a number of spacing changes to bring the code more-inline with the jQuery Core Style Guideline. 2009-12-21 19:58:13 -05:00
jeresig
36c99dc0c7 Tweaked the syntax of withinElement a bit. 2009-12-21 18:06:23 -05:00
jeresig
e083d15fc7 Tweaked a couple cases where == was used instead of ===. 2009-12-21 18:02:02 -05:00
Alexander Farkas
209751fcbd Make sure that the beforeactivate event isn't accidentally prevented. 2009-12-21 16:24:03 -05:00
Jörn Zaefferer
03481a52c7 Stop trying to emulate the focus/blur event in IE, doesn't work as one might expect, anyway. Instead, implement the focusin/focusout events in all other browsers - which creates a much better parity across all browsers. Uses event capturing instead of bubbling to make it happen. Thanks to Alexander for the recommendation and to Joern Zaefferer for the original focus/blur delegation code. 2009-12-21 16:10:21 -05:00
Alexander Farkas
5dc6b7ce34 Used the patch from Alexander as the basis for a rewrite of the IE change event logic. Now has full parity with the regular change event in other browsers: Works with regular bind, works better with multiple selects, works as a regular change event (note test suite changes), works with readonly/disabled inputs, and much more. The original patch had a number of problems, including firing the change event too many times, not bubblinb properly, and not handling clicks on multi-selects properly - that should all be fixed now. Thanks Alexander for the patch pushing in the right direction. 2009-12-21 15:32:32 -05:00
jeresig
0d5bd17461 Moved logic for handling .animate({}), doesn't queue anymore. Fixes #5459. 2009-12-21 11:11:03 -05:00
jeresig
1feb92afb4 Make sure that we don't bind the onunload event in Opera. 2009-12-18 22:35:02 -05:00
jeresig
3fd62eae9d Switched from using YUI Compressor to Google Compiler. Minified and Gzipped filesize reduced to 22,839 bytes from 26,169 bytes (13% decrease in filesize). Sizzle copyright was merged into the main header (since it's removed automatically). Still passes all unit tests. 2009-12-18 21:23:26 -05:00
jeresig
42f8c3add3 No need to use the conditional comment for binding the onunload event in IE. 2009-12-18 20:29:22 -05:00
jeresig
298bfb79e6 The constructor check for isPlainObject was redundant, everything still passes without it. 2009-12-18 19:43:04 -05:00
jeresig
67b3be24e1 Added additional checks for DOM nodes and window to isPlainObject, IE 8 was still letting those pass through. Fixes #5669. 2009-12-18 19:36:35 -05:00
jeresig
d40083c866 Disabled the passthrough .attr(method_name) functionality. You can now use it if you do: .attr({method_name: value}, true) OR as an easy initialization method: jQuery('<div/>', {html: '...', id: 'test'}). 2009-12-18 12:41:53 -05:00
Robert Katic
148fb7ba8e Made isPlainObject() supporting null, undefined, and window values on IE too. Also added some related tests. Fixes #5669. 2009-12-19 01:19:34 +08:00
jeresig
27d65b59f9 Backing out the change from 841f9ff7a1, it was ineffectual in Internet Explorer. Keeping the broken test case, for now, so that we can check into the issue some more. 2009-12-18 11:30:04 -05:00
jeresig
f036630692 Brought the attributes module more inline with the jQuery style guidelines. 2009-12-18 11:27:56 -05:00
jeresig
99d83fbd6d Bringing the effects module closer to being inline with the style guideline. 2009-12-18 11:16:26 -05:00
jeresig
b70872f70d Renamed the 'fx' module to 'effects'. Should've been done a long time ago. 2009-12-18 11:01:19 -05:00
jeresig
9368b188c0 Removed jQuery.fn.contains - didn't match the :contains() selector and confused things. Thanks ajpiano for the tip. 2009-12-18 10:54:34 -05:00
Dave Methvin
fe7e2fee16 Ignore case of script tags to make sure they're removed. Fixes #5668. Thanks to Motty/Fudgey for the report and Jitter for the patch! 2009-12-18 04:06:54 +08:00
Dave Methvin
b31b9bd756 Add new html5 input types to list of serializable types. Older browers handle these as type="text" so they should be consistently serialized on both old and new browsers. Fixes #5667. 2009-12-18 04:05:45 +08:00
jeresig
6bc222e7a1 Removed 'abbr' from self-closing tags list. Fixes #5167. 2009-12-17 15:04:07 -05:00
Dave Methvin
d85d366fbf Default callbackContext to the $.extended ajax options for 1.3.2 compatibility, per #5654. 2009-12-18 04:01:39 +08:00
Ben Alman
04b92e7831 Reorganized param code slightly to once again define buildParams as a named function expression, as moving it outside the param closure would necessitate moving and rewriting the add function as well. 2009-12-18 04:01:05 +08:00
Ben Alman
927e1966de Further modified jQuery 1.4 .param() method to serialize arrays containing non-scalar values. PHP and jQuery BBQ can both deserialize these structures, while rack (as of 1.0.0) cannot. 2009-12-18 04:01:05 +08:00
jeresig
ed5731dcc4 Revert the changes from 65ebf57c1e, they were ineffectual against IE's insanity: http://ejohn.org/files/bugs/fragment/ Used a different tactic instead (just don't return a fragment from .parent()). Fixes #5638. 2009-12-17 14:17:05 -05:00
jeresig
892fb55547 Make sure that the node exists before attempting to clone. 2009-12-17 13:15:12 -05:00
jeresig
100ed68642 Stick with just getter/setters in attrFn. 2009-12-17 12:23:04 -05:00
jeresig
9a0174b057 Moved readyList check. 2009-12-16 23:09:55 -05:00
jeresig
f078e930ed Reverted accidental commit in 5197ac9fc8. 2009-12-16 16:54:21 -05:00
jeresig
9997620420 Retooled the arguments.callee-related changes in 98ce35d52b to avoid re-declarations where possible. 2009-12-16 16:45:00 -05:00
jeresig
fe9333cc79 No need to use jQuery's event system for binding the onunload event in IE. 2009-12-16 15:42:03 -05:00
Batiste Bieler
649024909d Enforce that hasClass and removeClass work even with tabs and endlines in class attributes. Fixes #5505. 2009-12-14 16:24:28 -05:00
jeresig
b4b30cc683 Disable getting values using the .attr() function shortcut until the full implications of which can be explored. 2009-12-14 01:15:02 -05:00
John Resig
638c093b85 Fixed typo from commit 542099a278. 2009-12-11 12:47:41 -08:00
John Resig
65ebf57c1e Make sure that dynamically-created elements don't have a parent. Fixes #5638. 2009-12-10 17:01:04 -08:00
Karl Swedberg
1bac61655b combined jQuery.bind() and jQuery.one() to make them more DRY 2009-12-10 14:44:30 -08:00
John Resig
ecdcda870c Missed the case of bind in the new attr multi-setter. 2009-12-10 14:03:24 -08:00
John Resig
474d814076 Moved some methods around inbetween core.js and traversing.js. Core methods shouldn't rely upon other modules (e.g. the selector engine) wherever possible. 2009-12-10 09:25:25 -08:00
John Resig
ede2f2c4f7 Made some minor formatting changes to the access function. 2009-12-10 09:07:19 -08:00
John Resig
80913618b0 Made the licensing verbiage a little more explicit. Thanks to Dan Montgomery for the suggestion. 2009-12-09 23:56:47 -08:00
John Resig
88572ee692 Make sure that the correct args are passed in to the filter callback (and by extension, the not callback). Fixes #5594. 2009-12-09 22:03:14 -08:00
John Resig
a5f8a14411 Make sure that calling .width(num) or .height(num) on an empty set returns the empty set. Fixes #5600. 2009-12-09 21:58:29 -08:00
John Resig
715d1c5a30 Rewrote .merge() (faster and less obtuse now). Fixed #5610. 2009-12-09 21:43:20 -08:00
John Resig
f25eedf32a Restrict the attr quick setters to only methods that specifically ask for the functionality. Fixes #5612. 2009-12-09 21:28:33 -08:00
Yehuda Katz
1a4d1904ae Fix up whitespace and a couple of glitches. 2009-12-09 21:17:10 -08:00
John Resig
b3cee01820 Merge branch 'master' of git@github.com:jquery/jquery 2009-12-09 20:59:12 -08:00
John Resig
cf72fba64f Make sure that the defaultView exists before attempting to get at the computedStyle (makes it easier to hide items that don't have a view). Fixes #5619. 2009-12-09 20:58:49 -08:00
Yehuda Katz
da51cd0e43 Add function values to addClass, removeClass, toggleClass, text, and removeAttr 2009-12-09 20:57:53 -08:00
John Resig
4e9fed3b16 Made sure that css('width') and height returned string values, not numerical values. Fixes #5627. 2009-12-09 20:51:58 -08:00
John Resig
6bec6199c2 Work around a weird computed number issue in WebKit. Fixes #5145. 2009-12-09 20:37:14 -08:00
John Resig
04524287d3 Switched jQuery() to represent jQuery([]) instead of jQuery(document). 2009-12-09 20:36:07 -08:00
John Resig
b846ad4ca0 Add a try/catch to handle the exception thrown by unloaded iframes in IE. Fixes #4280. 2009-12-09 16:00:59 -08:00
John Resig
9d8bd161b6 Clarified the use of jQuery.browser and enforced jQuery.browser.firefox matching Firefox, after the discussion in 17791c9a3e. 2009-12-09 15:07:16 -08:00
John Resig
3ec2f1aef6 Make sure that we don't try to trigger non-existant native events on applets, embed, objects, etc. as it'll cause an exception with Java applets. Fixes #2414. 2009-12-09 14:49:31 -08:00
John Resig
1052792bb2 Fixed problems with removing live events. Fixes #4894. 2009-12-09 14:43:53 -08:00
John Resig
86bbf9cf87 We have to access the native event handlers/triggers directly, otherwise they won't execute in most modern browsers. Fixes #5124. 2009-12-09 13:53:07 -08:00
John Resig
5e2163085c Make sure that document ready events, inside a document ready, are added to the queue rather than executing immediately. Fixes #5261. 2009-12-09 13:45:06 -08:00
John Resig
4b70f006f5 Made .clone(true) also copy over element data. Fixes #4191. 2009-12-09 13:28:58 -08:00
John Resig
f6a0bf6816 Added support for .data(Object), overwriting the existing data object. Fixes #4284. 2009-12-09 13:16:18 -08:00
Yehuda Katz
4e27f17007 Landing in jQuery.contains, jQuery.fn.contains, and jQuery.fn.has support. Fixes #4101. 2009-12-09 12:43:13 -08:00
John Resig
9e60fec46b Make sure that an actual timeout is triggered (and not accidentally triggered from a setInterval). Fixes #5609. 2009-12-09 08:09:41 -08:00
John Resig
17791c9a3e Added in jQuery.browser.firefox, deprecated jQuery.browser.mozilla. 2009-12-08 22:52:32 -08:00
David Petersen
841f9ff7a1 Handle changing form attributes correctly when there is a child element with the same name. Fixes #4299 2009-12-09 14:43:55 +08:00
Dave Methvin
d3dc2d1234 Get browser version rather than rendering engine version.
Don't recognize Chrome as Safari.
See results of different userAgent strings here:
http://spreadsheets.google.com/ccc?key=0Aj5JJFjq9rZDdHdxXzRLVnY0SzFpRTBOUDc4VmhzRVE
2009-12-09 14:43:18 +08:00
John Resig
f5b649fafb Make sure that events are cloned for wrap, fixes #2977. 2009-12-08 11:21:24 -08:00
John Resig
98ce35d52b Removed uses of arguments.callee from jQuery. 2009-12-07 16:42:25 -08:00
John Resig
00a0abb751 Moved .ready() to core.js from event.js. 2009-12-07 16:34:55 -08:00
John Resig
15f9d91c78 Fixed other nodeNode mistake, sigh. 2009-12-07 15:08:06 -08:00
John Resig
ed93204e10 This is why you don't do commits when you're tired. Fixing bugs from 5980292856. 2009-12-07 07:48:15 -08:00
John Resig
afaae84a7a support.js needs to come before event.js (also placed in a temporary setTimeout to delay the introduction of the ready in support - will remove when ready is moved to core.js, likely later today). 2009-12-07 07:45:20 -08:00
John Resig
97323d192f Oops, missed a closing } from 7d36ccfa8e. 2009-12-07 07:38:16 -08:00
James Padolsey
93fdbeb963 Added support for per-property easing 2009-12-07 16:11:46 +08:00
John Resig
62a34450c0 Added an extra function check to prevent crashes in Safari 2. Fixes #3039. 2009-12-06 20:20:49 -08:00
John Resig
5980292856 Make sure that expando properties aren't set on embed, applet, or object elements. An uncatchable exception is thrown and we must avoid it. Fixes #1675 and #2349. 2009-12-06 20:00:31 -08:00
John Resig
7d36ccfa8e Broke out the logic for the bubbling change/submit events so that they aren't bound if they aren't used. 2009-12-06 18:20:08 -08:00
John Resig
542099a278 Make sure that we're doing proper focus bubble testing. Also simplified the logic for the IE focusin/focusout handling. 2009-12-06 18:02:58 -08:00
John Resig
19ad49e607 Use the isXML function from Sizzle. 2009-12-06 17:52:31 -08:00
John Resig
3f7fc25494 Use the getText utility function provided by Sizzle. 2009-12-06 17:47:41 -08:00
John Resig
2092789155 Added in support for injecting area elements into map elements. Fixes #4484. 2009-12-06 17:26:39 -08:00
John Resig
fbc73d45b4 Added in support for $.ajax jsonpCallback (allowing you to specify the name of the callback method - and allowing you to avoid skipping the cache). Fixes #4206. 2009-12-06 17:17:14 -08:00
John Resig
aea5b09195 Adding in cross-browser onbeforeunload support. Fixes #4106. 2009-12-06 16:55:08 -08:00
John Resig
1fe9ff5482 Merge branch 'master' of git@github.com:jquery/jquery 2009-12-06 15:51:15 -08:00
John Resig
ebad701751 Split the queue code out from data.js into a dedicated queue.js file (also split tests accordingly). 2009-12-06 17:19:33 -05:00
John Resig
87ba780c69 Renamed isObjectLiteral to isPlainObject (makes more sense, per the suggestion of Michael Geary). 2009-12-06 17:11:51 -05:00
Dave Methvin
abbd2f4c3c Fix regexp for $.trim so it doesn't whack embedded spaces. 2009-12-06 10:31:57 +08:00
Dave Methvin
628e1564c4 Fix for #4011, crash when two text nodes are appended in IE. 2009-12-06 10:31:57 +08:00
jeresig
3c89e38fc2 Make sure that animated show resets the display correctly. Fixes #5130. 2009-12-05 21:06:14 -05:00
lrbabe
2d27e053a0 Fix inverted 'orig' and 'fix' event in mouseenter/mouseleave special events. 2009-12-06 09:13:57 +08:00
Karl Swedberg
3afc6533e2 added semicolons to end of 2 statements (and fixed a misspelled word in comment) 2009-12-06 08:55:54 +08:00
jeresig
9c1db29a06 Adding in an extra check, per the comments in 25b0ba9f96. 2009-12-05 18:06:27 -05:00
jeresig
2a6de9ab66 Make sure that the previous element is removed from the page before the next is inserted, in replaceWith. Using a variation of the patch by snaury. Fixes #2697. 2009-12-05 15:30:36 -05:00
jeresig
aae0617c83 Made sure that css() in IE handles negative non-px values correctly. Fixes #3331. 2009-12-05 15:12:02 -05:00
jeresig
6071e939c7 Minor syntactical changes to :visible and :hidden. 2009-12-05 15:02:45 -05:00
jeresig
b776e2b79a Made sure that a null speed doesn't get passed around. Patch from daltonlp. Fixes #5557. 2009-12-05 14:33:40 -05:00
John Resig
b24da33f52 Make sure that width or height don't animate to a negative value. Fixes #3881. 2009-12-05 00:10:19 -05:00
John Resig
8d1efee316 Retooled the native triggering code, simplifying it. 2009-12-04 23:18:05 -05:00
John Resig
25b0ba9f96 Allow the user to explicitly set a content-type header even when there's no data being sent to the server. Fixes #1900. 2009-12-04 21:20:58 -05:00
Yehuda Katz
d684122be0 Fixes a bug I introduced 2009-12-04 18:18:43 -08:00
jeresig
39a77c2d02 Switched to using slice instead of join to get the correct results. 2009-12-04 12:36:24 -05:00
Ben Alman
2b481b93cf Landing Ben Alman's patch to add nextUntil, prevUntil, and parentsUntil. Also adds some tests for prevAll and nextAll, and fixes an test edge case in parents. 2009-12-04 12:28:47 -05:00