]> source.dussan.org Git - jquery.git/commitdiff
Manipulation: simplify html wrappers
authorOleg Gaidarenko <markelog@gmail.com>
Thu, 22 Jan 2015 23:34:29 +0000 (02:34 +0300)
committerOleg Gaidarenko <markelog@gmail.com>
Tue, 10 Feb 2015 20:44:01 +0000 (23:44 +0300)
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
test/unit/manipulation.js

index 2e309f5e7cda74277f89e65c21fcd71a56e56d32..b11f560747da89fea94d1c332248a7acb3af16e1 100644 (file)
@@ -33,9 +33,20 @@ var
                option: [ 1, "<select multiple='multiple'>", "</select>" ],
 
                thead: [ 1, "<table>", "</table>" ],
+
+               // 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, "<table><colgroup>", "</colgroup></table>" ],
-               tr: [ 2, "<table><tbody>", "</tbody></table>" ],
-               td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+               // Auto-insert "tbody" element
+               tr: [ 2, "<table>", "</table>" ],
+
+               // Auto-insert "tbody" and "tr" elements
+               td: [ 3, "<table>", "</table>" ],
 
                _default: [ 0, "", "" ]
        };
index 2a240127c86336ffc6b53736787f4ae4c2f5b50b..70047622db0f966a04a9b0faf7f18974b2f0af08 100644 (file)
@@ -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( "<table cellpadding='0'><tr><td>test</td></tr></table>" );
+
+       jQuery( table ).appendTo( "#qunit-fixture" );
+
+       jQuery( "<col width='150'/>" ).prependTo( table );
+
+       strictEqual( table.find( "td" ).width(), 150 );
+});
+
 asyncTest( "Insert script with data-URI (gh-1887)", 1, function() {
        Globals.register( "testFoo" );
        Globals.register( "testSrcFoo" );