Commit Graph

654 Commits

Author SHA1 Message Date
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