aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Gaidarenko <markelog@gmail.com>2015-01-23 02:34:29 +0300
committerOleg Gaidarenko <markelog@gmail.com>2015-02-10 23:44:01 +0300
commit0ea342a6a6dce793c1b0f14f051c2573f40f4e44 (patch)
treea2bb76431095960fb227d932c2a8487bdd7a2fd8
parent45ec73f55618cd080867a98b42b9ab80409cab2e (diff)
downloadjquery-0ea342a6a6dce793c1b0f14f051c2573f40f4e44.tar.gz
jquery-0ea342a6a6dce793c1b0f14f051c2573f40f4e44.zip
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
-rw-r--r--src/manipulation.js15
-rw-r--r--test/unit/manipulation.js12
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, "<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, "", "" ]
};
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( "<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" );