Manipulation: add support to tag-hyphenated elements

Ref #1987
Ref 85ffc6d973
This commit is contained in:
Leonardo Braga 2015-01-13 07:50:23 +03:00 committed by Oleg Gaidarenko
parent f19595cef4
commit 5d522f5c74
2 changed files with 19 additions and 2 deletions

View File

@ -34,8 +34,8 @@ var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|" +
rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"),
rleadingWhitespace = /^\s+/, rleadingWhitespace = /^\s+/,
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
rtagName = /<([\w:]+)/, rtagName = /<([\w:-]+)/,
rhtml = /<|&#?\w+;/, rhtml = /<|&#?\w+;/,
rnoInnerhtml = /<(?:script|style|link)/i, rnoInnerhtml = /<(?:script|style|link)/i,
// checked="checked" or checked // checked="checked" or checked

View File

@ -527,6 +527,23 @@ test( "html(String) with HTML5 (Bug #6485)", function() {
equal( jQuery("#qunit-fixture").children().children().children().length, 1, "Make sure nested HTML5 elements can hold children." ); equal( jQuery("#qunit-fixture").children().children().children().length, 1, "Make sure nested HTML5 elements can hold children." );
}); });
test( "html(String) tag-hyphenated elements (Bug #1987)", function() {
expect( 27 );
jQuery.each( "thead tbody tfoot colgroup caption tr th td".split(" "), function( i, name ) {
var j = jQuery("<" + name + "-d></" + name + "-d><" + name + "-d></" + name + "-d>");
ok( j[0], "Create a tag-hyphenated element" );
ok( jQuery.nodeName(j[0], name.toUpperCase() + "-D"), "Hyphenated node name" );
ok( jQuery.nodeName(j[1], name.toUpperCase() + "-D"), "Hyphenated node name" );
});
var j = jQuery("<tr-multiple-hyphens><td-with-hyphen>text</td-with-hyphen></tr-multiple-hyphens>");
ok( jQuery.nodeName(j[0], "TR-MULTIPLE-HYPHENS"), "Tags with multiple hypens" );
ok( jQuery.nodeName(j.children()[0], "TD-WITH-HYPHEN"), "Tags with multiple hypens" );
equal( j.children().text(), "text", "Tags with multple hypens behave normally" );
});
test( "IE8 serialization bug", function() { test( "IE8 serialization bug", function() {
expect( 2 ); expect( 2 );