From 0ea342a6a6dce793c1b0f14f051c2573f40f4e44 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Fri, 23 Jan 2015 02:34:29 +0300 Subject: [PATCH] Manipulation: simplify html wrappers Take advantage of html serialization for html wrappers - saves 26 bytes Plus add additional test for "col" element Closes gh-2031 Fixes gh-2002 --- src/manipulation.js | 15 +++++++++++++-- test/unit/manipulation.js | 12 ++++++++++++ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/manipulation.js b/src/manipulation.js index 2e309f5e7..b11f56074 100644 --- a/src/manipulation.js +++ b/src/manipulation.js @@ -33,9 +33,20 @@ var option: [ 1, "" ], thead: [ 1, "", "
" ], + + // Some of the following wrappers are not fully defined, because + // their parent elements (except for "table" element) could be omitted + // since browser parsers are smart enough to auto-insert them + + // Support: Android 2.3 + // Android browser doesn't auto-insert colgroup col: [ 2, "", "
" ], - tr: [ 2, "", "
" ], - td: [ 3, "", "
" ], + + // Auto-insert "tbody" element + tr: [ 2, "", "
" ], + + // Auto-insert "tbody" and "tr" elements + td: [ 3, "", "
" ], _default: [ 0, "", "" ] }; diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js index 2a240127c..70047622d 100644 --- a/test/unit/manipulation.js +++ b/test/unit/manipulation.js @@ -2452,6 +2452,18 @@ test( "Validate creation of multiple quantities of certain elements (#13818)", 4 }); }); +test( "Make sure col element is appended correctly", function() { + expect( 1 ); + + var table = jQuery( "
test
" ); + + jQuery( table ).appendTo( "#qunit-fixture" ); + + jQuery( "" ).prependTo( table ); + + strictEqual( table.find( "td" ).width(), 150 ); +}); + asyncTest( "Insert script with data-URI (gh-1887)", 1, function() { Globals.register( "testFoo" ); Globals.register( "testSrcFoo" );