Commit graph

285 commits

Author SHA1 Message Date
Ariel Flesler 61784e1581 jquery core: improves #3248. Functions are supported by isFunction. 2008-10-29 01:12:27 +00:00
Ariel Flesler 63bfe1ded1 jquery core: closes #3485. Fixing a memory leak on IE. 2008-10-18 22:22:08 +00:00
Ariel Flesler b69dc841ff jquery core: fix for [5828]. Put 'function' instead of 'string'. 2008-08-14 14:03:05 +00:00
Ariel Flesler ec146fc73d jquery core: closes #3154. makeArray uses typeof instead of attribute sniffing for strings. 2008-08-13 18:16:14 +00:00
Ariel Flesler 1023cf1d72 jquery core: closes #3248, #3079, #3026, #3176, #3202, #3129. jQuery.makeArray doesn't support functions anymore. Voiding the conflict with Scriptaculous 1.7.x. 2008-08-12 19:34:30 +00:00
Ariel Flesler db076b06f5 jquery core: closes #3241. The 'length' property isn't set to jQuery's prototype anymore. 2008-08-11 00:54:05 +00:00
Ariel Flesler fc38ead4dc jquery core: small size optimizations for val(). 2008-08-10 23:59:01 +00:00
Ariel Flesler a27b5d0468 jquery core: closes #2652. val() supports option elements, also simplified the code. 2008-07-23 17:00:32 +00:00
Ariel Flesler 69212c501f jquery core: closes #2968. Simplified isFunction, dropping support for DOM methods and functions like alert() on IE. 2008-07-23 16:18:05 +00:00
Ariel Flesler 43c4b64f32 jquery core: closes #3179. Fallback browser version for non supported browsers. 2008-07-23 15:21:27 +00:00
Ariel Flesler a33f85e691 jquery core: closes #3159. remove() would unbind form.elements instead of a form. 2008-07-15 15:58:01 +00:00
Ariel Flesler e132d6bc53 jquery core: Closes #3033. Removed support for .. selector on jQuery.find. 2008-07-09 19:23:19 +00:00
Ariel Flesler 96e4006b74 jquery core: closes #3102, #3051. $.fn.eq() accepts a stringified integer. 2008-06-30 16:17:44 +00:00
Paul Bakaus d1210a5a88 core: revertd last change, breaks width/height logic in css() 2008-06-24 16:16:15 +00:00
Paul Bakaus 201f1b66cc core: changed jQuery.css to num (uses curCSS) in the height/width methods with dramatically increases performance for height/width 2008-06-24 15:55:50 +00:00
Ariel Flesler 5e50079b14 jquery core: closes #3053. clean() wasn't parsing 0's. So html( 0 ) was failing failing. 2008-06-17 19:57:42 +00:00
Ariel Flesler 2f2602ed15 jquery core: closes #3034. Ids with '-' weren't handled by quickExpr. 2008-06-13 18:42:54 +00:00
Ariel Flesler e87d2c7a58 jquery core: adding rowSpan to jQuery.props. 2008-05-27 19:17:26 +00:00
Ariel Flesler cff5323a1d jquery core: closes #2930. Normalizing attr() to return undefined, even when getting DOM attributes. 2008-05-24 18:09:21 +00:00
Ariel Flesler 7f27816d30 jquery core: casting numbers received by val() to string. 2008-05-24 17:57:45 +00:00
Ariel Flesler ec075266e9 jquery core: saving some bytes and fixing indentation inside jQuery.prop. 2008-05-23 00:54:59 +00:00
Ariel Flesler d44c5025c4 jquery core: Closes #2709, avoiding a bug on IE 6 when using globalEval and a base node is found. 2008-05-16 18:37:11 +00:00
Ariel Flesler 3a7b09e5c7 jquery core: saving some bytes in $.fn.val by using $.makeArray. 2008-05-16 18:32:03 +00:00
Ariel Flesler da76a723e1 jquery core: updating a comment, thanks to Scott for spotting it. 2008-05-16 16:41:12 +00:00
Ariel Flesler 9a7652260b jquery core: SHOULD fix #2802. Caching document.defaultView, instead of defaultView.getComputedStyle as it fails on Safari 2. 2008-05-15 14:45:29 +00:00
Ariel Flesler 5a92ec263d jquery dimensions & offset: moving the local function 'num' to core, so it can be safely used by both modules. 2008-05-15 12:53:07 +00:00
Ariel Flesler b13a961ff5 jquery core: closes #1480, isFunction is even tougher. 2008-05-14 20:10:39 +00:00
Ariel Flesler 69f72761fa jquery core: fixed deep extend of objects. Closes #1562 & #2820. 2008-05-14 19:45:31 +00:00
Ariel Flesler 28182b4320 Closes #2510 2008-05-13 02:20:08 +00:00
Ariel Flesler 3f5ff3097c jquery: removing unnecessary trailing and leading spaces & tabs. 2008-05-13 01:45:58 +00:00
Ariel Flesler 70b5e670ca jquery core: don't let .attr() set style for xml. 2008-05-13 00:42:12 +00:00
Ariel Flesler e9b2781d30 jquery core: #2548, #2170, #2188, #2099, #1170, #2558, #2521, #2119, #1271, #2453, #2537.
mass refactoring of $.attr (#2548)

* Changes
- undefined was returned for falsy values.
- expando attributes are used when possible.
- one $.isXmlDoc instead of 2.
- $.attr( style, ... ) goes thru less useless checks.
- reduced code size of recurrent accessed variables/checks.
- $.props doesn't need redundant sets of key value anymore.
- added cellSpacing to $.props (#2521)
2008-05-13 00:37:30 +00:00
Ariel Flesler 440c08d768 jquery core: Applied #1318 to jQuery.grep 2008-05-12 01:21:50 +00:00
Ariel Flesler 1762dc24d6 jquery core: declared undefined locally, to speed up references, and allow munging all their names. 2008-05-11 20:59:24 +00:00
Ariel Flesler 487567e82f jquery core: closes #2811, $.fn.add now calls $.unique internally, also it was failing for array-like f.e: window. 2008-05-08 17:08:59 +00:00
Ariel Flesler 858d56fc8e jquery core: closes #2771
$.inArray now makes a === check because of IE.
$.inArray is used in $.fn.index, this is shorter, and breaks the loop when possible.
$.fn.index can receive a jquery object, and the first element is used
2008-05-08 16:14:49 +00:00
Ariel Flesler 4d41c71d3d jquery core: Reverting the changes added at [5480] 2008-05-07 00:07:44 +00:00
Ariel Flesler a584f82aef jquery core: makeArray was parsing forms into array of elements. 2008-05-06 23:28:21 +00:00
Ariel Flesler 69d9abff2c jquery core: removing needless 'else' and 'new' in $.fn.init. 2008-05-06 22:36:30 +00:00
Ariel Flesler e5e24bd33f jquery core: enhancements to jquery.map, closes #2803 2008-05-06 14:54:53 +00:00
Ariel Flesler 789ad4f769 jquery core: small code reduction. 2008-05-06 01:29:13 +00:00
Ariel Flesler eeab071790 jquery core: code reduction at $.each and $.curCSS. 2008-05-06 00:54:59 +00:00
Scott González f8698395ac core: Fixed #2605: .data() now accepts null as a value. 2008-05-03 01:51:55 +00:00
Scott González ad3c49d1b6 core: Fixed #2605: .data() now accepts null as a value. 2008-05-03 01:39:27 +00:00
Scott González 35c68b4578 core: Fixed #2600: jQuery.extend no longer skips over null properties. 2008-05-02 19:49:41 +00:00
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)