Commit graph

290 commits

Author SHA1 Message Date
Ariel Flesler cd455eeba7 jquery core: extend() now supports deep + extending jquery itself
cached some vars and it proved to be faster.
2008-04-30 00:09:55 +00:00
Ariel Flesler 17b1e407d1 mainly made the code shorter:
- removed some needless if's
- replace multiple "var x" for one, comma separated declaration.
- added a local fn called now() for the (new Date)s
- fixed the indentation of a block, and a typo in a comment.
- used fn instead of prototype where possible
- jquery fx: exposed the speeds hash as jQuery.fx.speeds.

Also fixed (again) line endings
2008-04-29 23:34:50 +00:00
Ariel Flesler e9c620794f jquery core: in $.makeArray, improved array-like detection, Safari reports nodelists as 'function', so I got back to attribute sniffing. 2008-04-29 20:58:22 +00:00
Ariel Flesler 508b1e2432 jquery core: fixed makeArray to recognize the window (has length)
test runner: updated the tests for makeArray
2008-04-25 03:48:07 +00:00
Ariel Flesler 25f9974cee jquery core: simplified the code using the new jQuery.makeArray from [5314] where possible. 2008-04-24 21:46:22 +00:00
Jörn Zaefferer f8e5fd6fef jquery core: Patch from #2619 applied, making makeArray more flexible and faster; removed hint to ticket from (previously failing) test 2008-04-24 21:23:36 +00:00
Brandon Aaron 3e285bd60d Small optimization to jQuery.curCSS (thanks Ariel Flesler) 2008-04-21 22:54:25 +00:00
Sean Catchpole 4515aba79c $.extend deep now copies children's children, ect... 2008-04-08 16:40:03 +00:00
John Resig a19a123d89 Fixed issue with typeof check - "array" isn't a valid type. 2008-02-17 15:05:55 +00:00
John Resig f43516f209 Landed a fix for bug #2037. 2008-02-06 05:18:25 +00:00
John Resig b0c7df65d0 You can now overwrite values returned from .data() with .bind("getData") - returning a value will override any bound value on that element. 2008-02-03 18:43:04 +00:00
John Resig 4a11e6d70b Tweaked the .data() event triggering - it now triggers a single 'setData' event, passing in a key value pair of what was changed. 2008-02-03 17:56:21 +00:00
John Resig 77da94552e Added $().data(), $().removeData(), and .bind("click!"). .data() and .removeData() handle namespaced data, .data() triggers a "set-KEY" event on all modified elements, and .bind("click!") only triggers a click (and no namespaced events). 2008-02-03 04:05:24 +00:00
John Resig 25c76232c6 Updated the years on the licensing. 2008-02-01 23:23:11 +00:00
John Resig 5da2e98cb3 De-eval'd selectors and the various DOM methods (will marginally help our speed and make us more compatible with projects like Caja and Adobe AIR). Left a selector eval in for backwards compatibility support of selector plugins. 2008-01-26 00:26:28 +00:00
David Serduke 1faed11e3c Fix #2184 by using the jQuery.clean() function instead of a direct innerHTML assignment in the clone() function for IE. 2008-01-23 03:54:23 +00:00
David Serduke 0cd307ec10 Changing end of line from CRLF to just LF like the rest of the source files. 2008-01-14 22:30:48 +00:00
John Resig c39bd07cc9 Added support for breaking in an object loop (Bug #2111). 2008-01-14 20:06:34 +00:00
John Resig 6e739fd2ba Added a check to make sure that .style exists before trying to access it (Bug #2105). 2008-01-14 19:17:35 +00:00
Jörn Zaefferer c27cbdc477 reverted change for #2114 2008-01-14 09:42:53 +00:00
Jörn Zaefferer 2fa855601e fix for #2114; refactored tests for bind() to highlight failing select-change-test 2008-01-14 09:33:08 +00:00
John Resig 9bcd2b370b Tweaked comment for isFunction. 2008-01-12 23:03:39 +00:00
David Serduke 05930c5a0d Fixed #2084 by added embed to the list of elements where it is ok to have self closing xhtml. 2007-12-21 05:47:33 +00:00
David Serduke 50c40add5a Fixed a couple problems found in the test suite. First, IE doesn't like it when text nodes were trying to duplicate their events in clone, so don't do text nodes (that shouldn't have events anyway). Also the fx module was freezing from a recent update that wasn't quite finished. 2007-12-20 20:40:20 +00:00
John Resig 3261544c38 Fixed #2027 - make sure that cloned elements (within appendTo, etc.) have their events cloned by default. 2007-12-20 13:36:56 +00:00
Brandon Aaron b32ec31d89 Insure width/height do not return a negative number. 2007-12-19 18:23:46 +00:00
David Serduke 7ef40fd199 Fixed #2076 where .val() could return an array instead of undefined when the jquery object was empty. The bug was created during the .val() refactoring for the javascript strict FF ticket. 2007-12-18 17:19:33 +00:00
Brandon Aaron fc51e14b81 width and height methods are now working properly 2007-12-18 03:53:09 +00:00
David Serduke 24e036c7c8 Fixed #2070 by adding a test for !nodeType to isArrayLike so DOM elements like SELECT are not considered array-like (even though they really are). 2007-12-17 21:02:05 +00:00
David Serduke 90b25efa6c Fixed #2062 by adding a check to see if the selector is array-like in .not() before testing it as an array. Otherwise it does a straight comparison during the filter test. 2007-12-17 16:54:44 +00:00
David Serduke 6496e4d9c4 Fixed #2037 where Opera would mis-state the value of 'display' after an innerHTML was done in some cases. 2007-12-17 01:58:05 +00:00
David Serduke feb9051c0e Fixed #1781 for warnings created on load by FF javascript.options.strict == true. 2007-12-16 01:03:50 +00:00
John Resig 7120b56caa Added some improvements to changes made in [4143] for #1854. 2007-12-13 22:58:59 +00:00
David Serduke da33a981c6 Fixed #1854 by using wizzud's suggestion. The only real difference is the code is only called when there is more than a single selector. So there should be no speed decrease in the current working cases. Only additional functionality for cases that used to fail. 2007-12-13 22:24:59 +00:00
Brandon Aaron 3e3b86c7a7 Getting the width and height of the document now returns the correct value in all browsers. It even works around the scrollWidth == offsetWidth bug in Firefox thanks to wizzud. 2007-12-13 03:46:48 +00:00
David Serduke 279f77e960 Fixed a bug in clone where it wouldn't work on an XML node in IE. Also added unit test for it. 2007-12-12 01:32:35 +00:00
Brandon Aaron 227f8b2514 Greatly reduced the complexity of the width/height methods. This also fixes #2009, #1870, #1796, #1843, #1839, #1818, #1613, #1415 and #1629 2007-12-11 04:40:54 +00:00
David Serduke 9ea8017f86 Fixed #1959 by postponing ALL script evaluations till the html insertion is done. Before the code would immediately execute any scripts that weren't in subelements if no subelements prior had scripts in them (i.e. once any script was postponed they all were). This could cause inconsistent behavior. Since, at this time, we have to postpone some scripts it makes more sense to postpone them all. 2007-12-10 19:04:59 +00:00
John Resig f97f77c034 Added a change that triples the speed of all uses of $(...). For example $(DOMElement) was 38ms, is now 13ms. 2007-12-10 01:45:03 +00:00
Brandon Aaron ccf055033a Fixed clone so that it now properly copies changes to the innerHTML in IE. Unfortunately, IE stores some modifications to some attributes only as a property and they are still not copied properly. This is documented in ticket #1836. 2007-12-08 23:03:10 +00:00
David Serduke ffbedf0262 Fixed #1039 and #1733 by going through the core API and making them text node and comment node safe. 2007-12-07 01:52:21 +00:00
Jörn Zaefferer d44e9451f7 Fix for #2002 2007-12-06 19:51:00 +00:00
David Serduke 1be5582039 Fixed #1419 where IE failed with .text() on an XML node. This is part of a series of tickets including #1264 where the context of the DOM manipulation was a problem in xml and iframe documents. 2007-12-05 05:01:46 +00:00
David Serduke 74a132d944 Fixed #1264. If you read the bug there were many proposed changes. As it turned out most of them had already been implemented. The last ones necessary were in .domManip() with when a <table> was 'this' and for .text(). Adding these last changes seems to make dom and text manipulation in IE frames possible. Unit test cases were added as well.
In addition "submit.gif" was removed from the test suite index.html since it didn't exist.
2007-12-05 00:26:13 +00:00
David Serduke 76e3a90153 Fixed #1763 by checking to see if .createElement() is available on the context and if isn't default to other contexts. 2007-12-04 19:37:03 +00:00
David Serduke d938c6bbd6 Fixed #1438 where a filter could be set in IE but not have opacity in it. The JS error was fixed by checking to make sure 'opacity=' is in the filter before seeing what its value is. 2007-12-04 18:15:27 +00:00
David Serduke 37902e86b1 Fixed a problem with changeset [3841] where a function could no longer be .extend()-ed. 2007-11-30 08:39:49 +00:00
David Serduke aca1cc3677 Removed comments and code related to Safari being unable to do a sync global eval. With the new globalEval() code that should no longer be a problem. 2007-11-30 02:42:48 +00:00
David Serduke b6d70a7ce3 Back out one of the changes from the previous commit that wasn't necessary to fix the bug and might not be desired. 2007-11-28 23:53:54 +00:00
David Serduke 95c0265486 Fixed #1908 by testing to make sure it isn't null before checking the nodeType. 2007-11-28 23:42:16 +00:00
David Serduke ed7608d8ee Fixed #1070 by converting all setAttribute() values to a string which is what all browsers but IE did. This will bring IE in line with the others and fix the bug. 2007-11-28 23:13:59 +00:00
David Serduke 5c6c99361f Fixed #1714 by adding a default empty string if the value is falsey. 2007-11-28 16:38:34 +00:00
David Serduke 0a755f6ab3 Fixed #1599 as Brandon suggested to ignore negative values to width and height css. The fix itself is slightly different as it was moved to .css() instead of staying in .attr() like in his patch. I decided there was less chance of incorrect behavior (like if someone had an XML file with a width attribute that could be negative). Also took out some unneeded white space while I was in there. 2007-11-28 01:01:49 +00:00
David Serduke 2ccd2cb36b Fixed #1942 but running jQuery.css() before jQuery.curCSS(). This way when the property is width or height it gets the values through calculation instead of just css first. This appears to fix the problem in Opera without hurting any of the other browsers. 2007-11-27 23:58:07 +00:00
John Resig 1a2fdafd38 Added a quick shortcut to improve the speed of $(DOMElement) by over 2x. 2007-11-27 01:03:49 +00:00
Brandon Aaron 5e99807271 Fix for #1944. Added nodeName and tagName to jQuery.props and tests for maxlength, defaultValue, selectedIndex, tagName and nodeName. 2007-11-19 16:07:44 +00:00
David Serduke 264ffbc73b Fixed #1074 where .html() was incorrectly changing the selected value of an option. 2007-11-17 22:09:51 +00:00
David Serduke 32b3ac4f06 Changed core.js from CRLF to LF eol style to match the rest of the source files. This was the only change for this changeset. To see it try: 'svn diff -x --ignore-eol-style -r 3841:3842' and there will be no diffs. (actual revision numbers are an educated guess) 2007-11-17 04:36:50 +00:00
David Serduke bf8f3fe094 Fix #1907 where the never-ending loop prevention used a coersion comparison which sometimes dropped values incorrectly. Also fixed a bug where on deep copies the target copied over itself (i = 2 addition). Last made code handle the case when a property might have a string in it that should be overwritten by an object. 2007-11-17 04:25:22 +00:00
David Serduke e2ef3df86d Fixed #1095 bug where radio buttons became unchecked during show(). Also added unit test and had to fix a selector test that was broken by the new testing div in test/index.html. Last made some whitespace changes. 2007-11-16 23:39:23 +00:00
Brandon Aaron d5cb977a08 Fix for #1893 2007-11-14 04:51:53 +00:00
David Serduke a613a70fdb Added a check to make sure a parent node exists in call remove() to avoid errors as seen in bug #1742. 2007-11-05 18:49:00 +00:00
John Resig 1ac9d6fbee Added a fix for .noConflict(true) not reverting properly. Also added unit tests for noConflict. 2007-10-20 22:04:06 +00:00
John Resig 5736e8d90d Ok, self[...] was BS, switching to window[...], bug #1748. 2007-10-18 17:25:08 +00:00
John Resig 14b88f6019 Fix for bug #1546 where a deep copy was attempted of DOM elements (which isn't needed). 2007-10-17 23:35:57 +00:00
John Resig e287007f6a Added a fix for bug #1698, in which injected scripts were executed out of order, in relation to the DOM. 2007-10-17 22:42:12 +00:00
Brandon Aaron 971840f343 Fixed .val(String) for select elements (#1760) [Thanks Sam] 2007-10-12 12:51:07 +00:00
Jörn Zaefferer 0f5c1d15e9 Fix for #1779 2007-10-12 09:46:48 +00:00
Brandon Aaron 92aac3abd6 Fixes memory leaks relating to events in IE with page unload and with jQuery methods remove, html and empty (#1610, #1618, #1697 and #1731). Also re-worked variable names to be more consistent with the core. 2007-10-06 17:04:20 +00:00
Brandon Aaron bb998f2518 Fix regression in add and append in IE after revision 3463 2007-10-06 16:45:20 +00:00
John Resig ad1cef94bf A fix for bug #1443, where globalEval occurred asynchronously in Safari 2, provided by Andrea Giammarchi. 2007-10-01 20:15:20 +00:00
John Resig 92a9e73bbe Completely overhauled the syntax of core - re-worked variable names, formatting, comments, and some structure. 2007-09-23 16:55:19 +00:00
Brandon Aaron d5999be9ae Fixed #1474, setting selectedIndex 2007-09-18 14:35:41 +00:00
Brandon Aaron aee81963ba Use document.compatMode for quirks test in width/height method 2007-09-18 12:38:15 +00:00
Brandon Aaron 537d7ca869 Fix width/height to work properly on window/document 2007-09-17 19:14:05 +00:00
John Resig e0c6e4ef98 Added fix for bug #1567 - uppercase nodeName test in .add(). 2007-09-15 03:44:44 +00:00
John Resig 3dabd7ec30 Added .eq(Number) back in - I'm convinced that it's more useful than the .slice() replacement. lt/gt are still gone, though. 2007-09-15 03:08:46 +00:00
John Resig 9c2c47d7c0 etooled the jQuery constructor, makes it work better for embedding (Bug #1585). Also took the opportunity to do some renaming in the constructor and init. 2007-09-15 02:24:44 +00:00
John Resig 606b863eda Fixed bug #1594, #1565, #1598 - all of which were concerning the improper execution of embedded scripts in IE and Safari. 2007-09-15 02:16:29 +00:00
Brandon Aaron 500ff12d5d fix clone(true) for IE 2007-09-13 16:45:53 +00:00
John Resig 6476b15f1a Made the expando code attach properties to an anonymous object, as opposed to the global window object, and fixed a bug where .removeAttribute() tried to fire even if it didn't exist. 2007-09-10 18:39:16 +00:00
John Resig f38251b2ce Fixed spelling mistake. 2007-09-09 23:17:30 +00:00
John Resig cd6ec6e157 Added an extra check for removing a named cache property - calling it when it didn't exist caused an exception. 2007-09-09 23:08:21 +00:00
John Resig 139b03af7c Landing a version of $(document)/$(window) .width()/.height(). It won't win any awards, but it'll hold us over for this release. 2007-09-09 22:59:41 +00:00
John Resig 052aa1445a Added .prevAll() and .nextAll() functionality. 2007-09-09 21:34:37 +00:00
John Resig b59c94d5c2 So, apparently, I never committed the second half of the new field value code. This allows you to set values on groups of checkboxes, radio buttons, and selects. 2007-09-09 19:00:56 +00:00
John Resig 3a4e1233aa Landing the new expando management code. Completely overhauls how data is associated with elements.
Plugins will be most interested in:
- jQuery.data(elem) -> Unique ID for the element
- jQuery.data(elem, name) -> Named data store for the element
- jQuery.data(elem, name, value) -> Saves a value to the named data store
- jQuery.removeData(elem) -> Remove the expando and the complete data store
- jQuery.removeData(elem, name) -> Removes just this one named data store

jQuery's .remove() and .empty() automatically clean up after themselves. Once an element leaves a DOM document their events are no longer intact. Thus, statements like so:
{{{
  $("#foo").remove().appendTo("#bar");
}}}
should be written like so:
{{{
  $("#foo").appendTo("#bar");
}}}
in order to avoid losing the bound events.
2007-09-08 23:31:23 +00:00
John Resig 2929f8aa67 Landing the .clone() rewrite by Brandon (also includes the new event cloning functionality .clone(true)). 2007-09-08 16:19:34 +00:00
John Resig d2f82aba26 Added .hasClass() (Simply just passes through to .is()). 2007-09-08 13:49:42 +00:00
John Resig 6728e3cf74 Finished up some of the reorganization. 2007-09-08 12:46:01 +00:00
Renamed from src/jquery.js (Browse further)