Colin Snover
885d06c8ef
Fix domManip leaks the first element when appending elements to multiple other elements.
2011-01-09 15:56:40 -06:00
Colin Snover
8e59a99e0a
Change the way jQuery.data works so that there is no longer a chance of collision between user data and internal data. Fixes #6968 .
2011-01-09 15:52:33 -06:00
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