git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Standardizing on .test() and .exec() - moving away from using .match() for RegExp...
[jquery.git]
/
src
/
manipulation.js
diff --git
a/src/manipulation.js
b/src/manipulation.js
index
233cb82
..
20a1075
100644
(file)
--- a/
src/manipulation.js
+++ b/
src/manipulation.js
@@
-18,9
+18,13
@@
jQuery.fn.extend({
},
wrapAll: function( html ) {
},
wrapAll: function( html ) {
+ if(jQuery.isFunction(html)) {
+ return this.each(function() { jQuery(this).wrapAll(html.call(this)); });
+ }
+
if ( this[0] ) {
// The elements to wrap the target around
if ( this[0] ) {
// The elements to wrap the target around
- var wrap = jQuery( html, this[0].ownerDocument ).clone();
+ var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone();
if ( this[0].parentNode )
wrap.insertBefore( this[0] );
if ( this[0].parentNode )
wrap.insertBefore( this[0] );
@@
-28,7
+32,7
@@
jQuery.fn.extend({
wrap.map(function(){
var elem = this;
wrap.map(function(){
var elem = this;
- while ( elem.firstChild )
+ while ( elem.firstChild && elem.firstChild.nodeType === 1 )
elem = elem.firstChild;
return elem;
elem = elem.firstChild;
return elem;
@@
-138,6
+142,14
@@
jQuery.fn.extend({
domManip: function( args, table, callback ) {
var fragment, scripts, cacheable, cached, cacheresults, first;
domManip: function( args, table, callback ) {
var fragment, scripts, cacheable, cached, cacheresults, first;
+ var value = args[0];
+
+ if ( jQuery.isFunction(value) ) {
+ return this.each(function() {
+ args[0] = value.call(this);
+ return jQuery(this).domManip( args, table, callback );
+ });
+ };
if ( this[0] ) {
if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && args[0].indexOf("<option") < 0 ) {
if ( this[0] ) {
if ( args.length === 1 && typeof args[0] === "string" && args[0].length < 512 && args[0].indexOf("<option") < 0 ) {
@@
-274,7
+286,7
@@
jQuery.extend({
if ( typeof elem === "string" ) {
// Fix "XHTML"-style tags in all browsers
elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){
if ( typeof elem === "string" ) {
// Fix "XHTML"-style tags in all browsers
elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){
- return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?
+ return /^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i.test(tag) ?
all :
front + "></" + tag + ">";
});
all :
front + "></" + tag + ">";
});
@@
-290,7
+302,7
@@
jQuery.extend({
!tags.indexOf("<leg") &&
[ 1, "<fieldset>", "</fieldset>" ] ||
!tags.indexOf("<leg") &&
[ 1, "<fieldset>", "</fieldset>" ] ||
- tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
+ /^<(thead|tbody|tfoot|colg|cap)/.test(tags) &&
[ 1, "<table>", "</table>" ] ||
!tags.indexOf("<tr") &&
[ 1, "<table>", "</table>" ] ||
!tags.indexOf("<tr") &&
@@
-337,7
+349,7
@@
jQuery.extend({
// IE completely kills leading whitespace when innerHTML is used
if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
// IE completely kills leading whitespace when innerHTML is used
if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
- div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), div.firstChild );
+ div.insertBefore( context.createTextNode( /^\s*/.exec(elem)[0] ), div.firstChild );
elem = jQuery.makeArray( div.childNodes );
}
elem = jQuery.makeArray( div.childNodes );
}