Added new replaceWith() (replace all matched elements with the specified HTML/DOM Elements/Array/etc.) and replaceAll() (replace the specified elements with the set of matched elements).
This commit is contained in:
parent
0477a6e99e
commit
3ae74b523e
48
src/jquery/coreTest.js
vendored
48
src/jquery/coreTest.js
vendored
|
@ -604,6 +604,54 @@ test("insertAfter(String|Element|Array<Element>|jQuery)", function() {
|
||||||
ok( expected == $('#en').text(), "Insert jQuery after" );
|
ok( expected == $('#en').text(), "Insert jQuery after" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("replaceWith(String|Element|Array<Element>|jQuery)", function() {
|
||||||
|
expect(10);
|
||||||
|
$('#yahoo').replaceWith('<b id="replace">buga</b>');
|
||||||
|
ok( $("#replace")[0], 'Replace element with string' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after string' );
|
||||||
|
|
||||||
|
reset();
|
||||||
|
$('#yahoo').replaceWith(document.getElementById('first'));
|
||||||
|
ok( $("#first")[0], 'Replace element with element' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after element' );
|
||||||
|
|
||||||
|
reset();
|
||||||
|
$('#yahoo').replaceWith([document.getElementById('first'), document.getElementById('mark')]);
|
||||||
|
ok( $("#first")[0], 'Replace element with array of elements' );
|
||||||
|
ok( $("#mark")[0], 'Replace element with array of elements' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after array of elements' );
|
||||||
|
|
||||||
|
reset();
|
||||||
|
$('#yahoo').replaceWith($("#first, #mark"));
|
||||||
|
ok( $("#first")[0], 'Replace element with set of elements' );
|
||||||
|
ok( $("#mark")[0], 'Replace element with set of elements' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after set of elements' );
|
||||||
|
});
|
||||||
|
|
||||||
|
test("replaceAll(String|Element|Array<Element>|jQuery)", function() {
|
||||||
|
expect(10);
|
||||||
|
$('<b id="replace">buga</b>').replaceAll("#yahoo");
|
||||||
|
ok( $("#replace")[0], 'Replace element with string' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after string' );
|
||||||
|
|
||||||
|
reset();
|
||||||
|
$(document.getElementById('first')).replaceAll("#yahoo");
|
||||||
|
ok( $("#first")[0], 'Replace element with element' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after element' );
|
||||||
|
|
||||||
|
reset();
|
||||||
|
$([document.getElementById('first'), document.getElementById('mark')]).replaceAll("#yahoo");
|
||||||
|
ok( $("#first")[0], 'Replace element with array of elements' );
|
||||||
|
ok( $("#mark")[0], 'Replace element with array of elements' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after array of elements' );
|
||||||
|
|
||||||
|
reset();
|
||||||
|
$("#first, #mark").replaceAll("#yahoo");
|
||||||
|
ok( $("#first")[0], 'Replace element with set of elements' );
|
||||||
|
ok( $("#mark")[0], 'Replace element with set of elements' );
|
||||||
|
ok( !$("#yahoo")[0], 'Verify that original element is gone, after set of elements' );
|
||||||
|
});
|
||||||
|
|
||||||
test("end()", function() {
|
test("end()", function() {
|
||||||
expect(3);
|
expect(3);
|
||||||
ok( 'Yahoo' == $('#yahoo').parent().end().text(), 'Check for end' );
|
ok( 'Yahoo' == $('#yahoo').parent().end().text(), 'Check for end' );
|
||||||
|
|
7
src/jquery/jquery.js
vendored
7
src/jquery/jquery.js
vendored
|
@ -1182,6 +1182,10 @@ jQuery.fn = jQuery.prototype = {
|
||||||
this.empty().append( val );
|
this.empty().append( val );
|
||||||
},
|
},
|
||||||
|
|
||||||
|
replaceWith: function( val ) {
|
||||||
|
return this.after( val ).remove();
|
||||||
|
},
|
||||||
|
|
||||||
slice: function() {
|
slice: function() {
|
||||||
return this.pushStack( Array.prototype.slice.apply( this, arguments ) );
|
return this.pushStack( Array.prototype.slice.apply( this, arguments ) );
|
||||||
},
|
},
|
||||||
|
@ -2227,7 +2231,8 @@ jQuery.each({
|
||||||
appendTo: "append",
|
appendTo: "append",
|
||||||
prependTo: "prepend",
|
prependTo: "prepend",
|
||||||
insertBefore: "before",
|
insertBefore: "before",
|
||||||
insertAfter: "after"
|
insertAfter: "after",
|
||||||
|
replaceAll: "replaceWith"
|
||||||
}, function(i,n){
|
}, function(i,n){
|
||||||
jQuery.fn[ i ] = function(){
|
jQuery.fn[ i ] = function(){
|
||||||
var a = arguments;
|
var a = arguments;
|
||||||
|
|
Loading…
Reference in a new issue