Commit Graph

162 Commits

Author SHA1 Message Date
Dave Methvin
5fd21fc02b Don't cache non-html strings in buildFragment to avoid possible collision with the names of Object methods like toString. Also makes the unit tests 0.5% to 8% faster. Fixes #6779. 2010-12-27 13:43:52 -06:00
Colin Snover
82ac384b49 Don't use for-in loops on Arrays. Fixes #7817. Thanks to dmethvin.
Conflicts:
	src/manipulation.js
2010-12-22 18:32:33 -06:00
Colin Snover
445fdf720c Remove code for ticket #7717 which has been marked WONTFIX to match existing $.data functionality and to prevent infinite loops caused by circular references. 2010-12-22 14:43:17 -06:00
Colin Snover
5607bd8d53 Fix a potential error in the previous commit caused by the use of a separate index variable. Thanks to dmethvin for the review. 2010-12-22 09:14:53 -06:00
Dave Methvin
4424bda377 Use a for loop rather than for/in loop when copying events, so that code will work with an augmented Array.prototype. Fixes 7809. 2010-12-20 22:23:59 -05:00
Colin Snover
faefbb1ad0 Fix #7717 and #7165. Thanks to dmethvin and iliakan for their help fixing these issues. 2010-12-19 15:33:53 -06:00
Colin Snover
291b1edf44 Address some code style issues in the clone fix. 2010-12-16 01:29:06 -06:00
Colin Snover
c9c9057c4d More specific version numbers. 2010-12-12 20:01:47 -06:00
Colin Snover
1a3fd3329d Speed up & compatibility improvements for new clone mechanism in IE. 2010-12-12 19:23:22 -06:00
Colin Snover
4fae75d575 Merge branch 'bug5566' into csnover-bug5566. Fixes #4386, #5566, #6997.
Conflicts:
	src/manipulation.js
	test/unit/manipulation.js
2010-12-12 02:39:06 -06:00
Colin Snover
7481a3645a Fix the clone method to be a little less insane in IE, which fixes the new event-cloning clone() as well as probably a bunch of IE-related clone bugs. 2010-12-12 02:20:31 -06:00
jeresig
29616e60c8 Backing out cec68e2b00, was causing serialize tests to fail. Un-fixes #5566. 2010-12-09 13:27:52 -05:00
jeresig
cec68e2b00 Merge branch 'bug5566' of https://github.com/csnover/jquery into csnover-bug5566 2010-12-09 12:44:30 -05:00
Colin Snover
e4900df838 Clone fragments in domManip using jQuery.clone instead of DocumentFragment.cloneNode in order to carry over event data. Fixes #5566, #6997. 2010-12-06 19:37:16 -06:00
Colin Snover
c8be9461ee Clean up empty lines with whitespace in manipulation.js 2010-12-06 19:36:42 -06:00
Anton M
ab2a70e6cf Make sure IE clones body elements correctly. Fixes 4386. 2010-11-21 01:58:46 +01:00
John Resig
fb48ae8e6c Make sure that when multiple variables are being declared that assignments are each done on their own line. 2010-11-09 11:09:07 -05:00
John Resig
b5b3c73db3 We don't do end of line comments, move them above. 2010-11-09 10:34:32 -05:00
rjgotten
df7dfc2404 Check against the type attribute of script elements retrieved through getElementsByTagName() so that only those elements of type "text/javascript" are handled by 'clean'.
Fixes #6180: jQuery.clean should not touch script tags that are not of type text/javascript
2010-10-17 08:30:05 -07:00
John Resig
0368606c08 Make sure that the contents of the element is still in place when html(Function) is called. Fixes #6733. 2010-09-28 09:50:44 -07:00
jeresig
9dc6e0c572 Applied the RegExp issues reported by Jeff Robinson here: http://jmrware.com/articles/2010/jqueryregex/jQueryRegexes.html Additionally broke out all remaining inline RegExp. Fixes #7062. 2010-09-22 09:16:28 -04:00
jeresig
acb162a697 Make sure that the removeEvent and buildFragment private functions are exposed (to help with access across modules). The final API for each of these is very much in flux and will likely change before the final release. Fixes #7011. 2010-09-08 18:13:35 -04:00
jeresig
bca5765502 Make sure that jQuery works even when the individual modules are loaded separately AND jQuery.noConflict(true) is used. Fixes #7011. 2010-09-08 13:54:33 -04:00
jeresig
8effe3a7de Made it so that you no longer need to build jQuery in order to run the test suite (but you'll still need a checkout of QUnit and Sizzle, at least). 2010-03-23 12:12:16 -04:00
jeresig
f68b46d7ab Make sure that special remove and teardown events get called when .die() is used. Additionally made sure that default actions are triggered when namespaced events are used. Fixes #6202 and #6250. 2010-03-09 12:22:25 -05:00
jeresig
0a307b332e No need to use .call() anymore since we switched from .apply() for appendTo, etc. Thanks to Robert in 2c08004f6d for the heads-up. 2010-03-05 09:59:58 -05:00
jeresig
2c08004f6d Attempted to fix #6227, not entirely sure if it's a problem as I'm having a hard time reproducing it. Regardless, the change is harmless and potentially even speeds up appendTo, etc. slightly. 2010-03-05 00:07:57 -05:00
jeresig
04e31ff058 Make sure that we don't try to remove data from an applet. Re-Fixes #1675. 2010-03-02 13:56:15 -05:00
jeresig
dcf0fa5048 More changes to get jQuery in line with JSLint. 2010-03-01 21:24:49 -05:00
jeresig
a4043cdcbf Land some additional tweaks related to running through JSLint. 2010-03-01 18:19:29 -05:00
jeresig
a6f3757d50 Found a better detect for deleting an expando, added back in removeAttribute as it does work in IE. 2010-02-13 06:57:58 -05:00
jeresig
9195107dbb Clean up expando removal code - only try to delete the expando from an element if it's possible. 2010-02-13 06:32:20 -05:00
jeresig
da966573c3 Make sure that elements that have been removed also have their special events cleaned up. Fixes #6084. 2010-02-13 06:10:43 -05:00
jeresig
c1ac9fdf45 Don't inject style elements using innerHTML as they will go away in IE. Fixes #5977. 2010-02-13 03:30:45 -05:00
jeresig
99e7560808 Make sure that we don't try to use a detached node (that was in a fragment) as a fragment in IE. Fixes #5829. 2010-02-13 03:14:00 -05:00
jeresig
726fda08be Make sure the fragment isn't used if it's not the same set we're working with. Fixes #6068. 2010-02-13 02:49:04 -05:00
jeresig
a7dc66b832 Rename internal .getText to maintain parity between it and the primary .text(). Fixes #6094. 2010-02-13 02:26:50 -05:00
jeresig
8b86004f9c Make sure that fragments containing options aren't cached. 2010-02-13 01:50:19 -05:00
jeresig
d743899971 Make sure that &#...; entities are encoded properly. Fixes #6042. 2010-02-05 19:58:08 -05:00
jeresig
8a4b2102ff Removed extraneous nodeName check from f95147f465 commit. 2010-02-01 21:56:11 -05:00
Noah Sloan
8660ea1ab6 Only detach the incoming elements to replaceWith if they're DOM nodes. Fixes #5986. 2010-02-01 21:48:05 -05:00
jeresig
f95147f465 Fix for problem in IE 8 where deserialized (then reserialized) form markup was getting malformed. Thanks IE. Fixes #5998. 2010-02-01 21:26:47 -05:00
jeresig
f9417b9da9 Same problem happens with plain embed elements as well. Follow-up fix to #5904. 2010-02-01 18:52:12 -05:00
jeresig
1b28bba4d2 Make sure that injection of object elements continues to work in IE 6. Really hard to unit test this in a meanigful manner (the result is a visually broken plugin). Will need to be diligent about watching for this in the future. Fixes #5094. 2010-02-01 18:22:48 -05:00
jeresig
4f2e209b85 Make sure fragment caching is only happening on nodes in the main document. Fixes #5978. 2010-01-29 00:22:20 -05:00
jeresig
388a00fe91 Skip around inserting a fragment when possible (insert the node directly). 2010-01-28 17:18:27 -05:00
jeresig
0db207da23 Optimize for the case where a fragment-bound element is being injected into one other element. 2010-01-28 16:30:37 -05:00
jeresig
98c7248518 Further optimize the empty/remove/cleanData logic. 2010-01-28 15:25:52 -05:00
jeresig
0b3165fd23 Make sure that the correct context is being passed in for replaceWith(fn). Fixes #5798. 2010-01-25 19:22:28 -05:00
jeresig
9f17e70ae9 Make work wrapInner(fn) work consistently. Fixes #5799. 2010-01-25 19:16:23 -05:00
Michael Monteleone
bed759c95c Make sure that checked state is cloned properly. Based upon the patch by Michael, required better test cases and in doing so found more edge cases. Introduced a new check into jQuery.support as a result. Fixes #5929. 2010-01-25 18:43:33 -05:00
John Resig
6a3d0996ed Make sure that XHTML-style HTML is purified in .html(). Fixes #5845. 2010-01-24 21:37:05 -05:00
jeresig
f06e0e5575 Expose cleanData, make sure that all bound event handlers are properly cleaned up after html/empty/remove. Fixes #5856 and #5906. 2010-01-23 21:20:19 -05:00
John Resig
6618ff0b0a Removed some dead code from buildFragment. Thanks to Sean Catchpole for the suggestion. 2010-01-15 17:46:33 -05:00
jeresig
23d600c66d Make sure that wrapInner works on elements that have no contents. Fixes #3552. 2010-01-11 16:31:31 -05:00
jeresig
3e9ef6f5c0 Final pass at fixing #5785. Need to make sure that inner-nodes are detached before the remove() occurs (and it should still occur, the nodes are being obliterated. 2010-01-11 16:25:01 -05:00
jeresig
36a98b95c2 Make sure we use detach instead of remove in replaceWith. Fixes #5785. 2010-01-11 15:57:45 -05:00
jeresig
8fa9e9d6d0 Make sure that .html(Function) gets the correct previous value. 2010-01-07 13:33:30 -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
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
9360cccc9e Forgot to make sure that oldData actually had data in it before the copy attempt. 2009-12-22 13:28:46 -05: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
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
e083d15fc7 Tweaked a couple cases where == was used instead of ===. 2009-12-21 18:02:02 -05:00
jeresig
6bc222e7a1 Removed 'abbr' from self-closing tags list. Fixes #5167. 2009-12-17 15:04:07 -05:00
jeresig
892fb55547 Make sure that the node exists before attempting to clone. 2009-12-17 13:15:12 -05:00
Yehuda Katz
1a4d1904ae Fix up whitespace and a couple of glitches. 2009-12-09 21:17:10 -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
4b70f006f5 Made .clone(true) also copy over element data. Fixes #4191. 2009-12-09 13:28:58 -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
15f9d91c78 Fixed other nodeNode mistake, sigh. 2009-12-07 15:08:06 -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
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
Dave Methvin
628e1564c4 Fix for #4011, crash when two text nodes are appended in IE. 2009-12-06 10:31:57 +08: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
62436f4b29 Extracted the logic for copying events from one jQuery set to another, makes it easier to work with disconnected DOM nodes. 2009-12-02 17:15:09 -05:00
jeresig
391f83b2a2 Fixed logic error in html method - support.leadingWhitespace shouldn't have been negated. 2009-12-02 15:20:33 -05:00
John Resig
b30af34f28 Added support for .text() on text nodes. Fixes #5525. 2009-11-17 14:52:08 -05:00
John Resig
7c4144fab3 Fixed the case where HTML that contained entities was being inserted as text strings instead of HTML. Thanks to dmethvin for the test case! Fixes #5483. 2009-11-11 14:23:56 -05:00
John Resig
bbffc99f7c Moved a bunch of methods out of the jQuery-specific Sizzle code into more-appropriate files, in jQuery itself. 2009-10-26 18:07:57 -04:00
John Resig
098a2bb4d0 Fixed the cleaning method to support namespaced elements. Thanks to einaros for the patch recommendation. Fixes #5358. 2009-10-12 16:26:01 +00:00
John Resig
69e6e53555 Adding in .unwrap() support, thanks to Ben Alman! Fixes #5191. 2009-09-25 21:41:21 +00:00
John Resig
67d445a703 A follow-up to [6578] (which stopped adding expandos to elements that didn't have data). That broke jQuery.unique() (so we're now using the unique from Sizzle). Using Sizzle's unique (which also sorts in document order) changed how add, andSelf, parents, nextAll, prevAll, and siblings work. after and before were changed to not use .add() (in order to guarantee their position in the jQuery set). Also, jQuery.data(elem) was updated to return that element's data object (instead of its ID).
$("<div/>").after("<span/>")
=> [ div, span ]
(calling after on a disconnected DOM node adds the nodes to the end of the jQuery set)

$("<div/>").before("<span/>")
=> [ span, div ]
(calling before on a disconnected DOM node adds the nodes to the beginning of the jQuery set)

$("div").add("span")
=> [ div, span, span, div, span ]
(results now come out in document order)

$("div").find("code").andSelf();
=> [ div, code, code ]
(results now come out in document order)

Same goes for .parents(), .nextAll(), .prevAll(), and .siblings().

Exception: .parents() will still return the results in reverse document order.

jQuery.data(elem)
=> { object of data }
(no longer returns the unique ID assigned to the node)
2009-09-25 17:55:20 +00:00
John Resig
fc4c691534 Adding some fixes for commit [6537]. If there's leading whitespace, or if an exception is thrown by innerHTML, we need to use the old style method. 2009-09-15 16:46:15 +00:00
John Resig
7638fc5835 Fix for SVN rev [6537]. Events weren't being unbound correctly in Internet Explorer (cleanData wasn't handling malformed NodeList results correctly). 2009-09-15 15:56:18 +00:00
John Resig
3eb56b09b8 Another fix for [6537] - make sure that .innerHTML isn't used on non-HTML documents and that we only attempt to use .innerHTML on DOM Elements. 2009-09-14 23:20:23 +00:00
John Resig
766635e862 Fixed a bug introduced in SVN rev [6537] that caused XML-based fragment creation to fail, in IE. 2009-09-14 23:12:06 +00:00
John Resig
173c1477ae Added support for .before(), .after(), and .replaceWith() on disconnected DOM nodes. Fixes bug #3940. 2009-09-14 22:09:42 +00:00
Ariel Flesler
0790989eb6 jquery core: Fixed #5202. Fixing selector generation when a manipulation function receives a jQuery object. 2009-09-14 18:03:18 +00:00
John Resig
520f1a2684 Broke the logic for .clean() wrap out into a separate, static, data structure. Also improved the performance of .html() looking for the case where .innerHTML can be used without problems. Also tweaked some cases where cleanData() was used, no need to use jQuery selectors in these cases. 2009-09-07 20:55:36 +00:00
John Resig
9d8d74569c Split out the fragment-building code from domManip. Switched core.js to using that instead. Also moved the standalone tag detection to $(...) for performance. 2009-09-07 18:58:01 +00:00
John Resig
7e06b9b70f Tweaked the detach addition in commit [6474]. 2009-07-21 15:57:51 +00:00
Yehuda Katz
7a67f8897d Adds detach() 2009-07-21 09:17:33 +00:00
John Resig
7175b2ffab Removing extraneous closing ). Fix for [6463]. 2009-07-19 16:21:08 +00:00
John Resig
f57d93bf18 Move cases of .replace(re, Function) out from inline (to avoid being redeclared on every use). Fixes #4114. 2009-07-19 15:57:43 +00:00
John Resig
0ac9898d6b Fixed typo in commit #6461. 2009-07-19 15:51:00 +00:00
John Resig
6d23f2fd81 Made more formatting changes to manipulation.js. Also moved all inline RegExp into a top declaration. 2009-07-19 15:48:30 +00:00
John Resig
ec7fdf3723 Tweaked formatting of src/manipulation.js. 2009-07-19 15:29:03 +00:00