]> source.dussan.org Git - jquery.git/commitdiff
Manipulation: Don't provide the parser with sloppy table markup
authorAnthony Ryan <anthonyryan1@gmail.com>
Sat, 25 Jul 2015 06:15:02 +0000 (02:15 -0400)
committerMichał Gołębiowski <m.goleb@gmail.com>
Mon, 14 Sep 2015 20:01:04 +0000 (22:01 +0200)
While we can reply on parsers that were designed to cope with
malformed syntax to understand what we mean, we shouldn't
intentionally provide bad markup, not all parsers will accept
it.

"Be conservative in what you do, be liberal in what you accept
from others."

Reverts 0ea342a6a6dce793c1b0f14f051c2573f40f4e44

Refs gh-2031
Refs gh-2002
Fixes gh-2493
Closes gh-2499

src/manipulation/wrapMap.js

index a7b913c90315ef03f96c2c43b0ea8a8d752bc6f3..fdb430a03becb467973aadd311864751b68284a2 100644 (file)
@@ -6,20 +6,13 @@ var wrapMap = {
        // Support: IE9
        option: [ 1, "<select multiple='multiple'>", "</select>" ],
 
+       // XHTML parsers do not magically insert elements in the
+       // same way that tag soup parsers do. So we cannot shorten
+       // this by omitting <tbody> or other required elements.
        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
-
-       // Auto-insert "colgroup" element
-       col: [ 2, "<table>", "</table>" ],
-
-       // Auto-insert "tbody" element
-       tr: [ 2, "<table>", "</table>" ],
-
-       // Auto-insert "tbody" and "tr" elements
-       td: [ 3, "<table>", "</table>" ],
+       col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+       tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+       td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
 
        _default: [ 0, "", "" ]
 };