]> source.dussan.org Git - jquery.git/commitdiff
Core: add support to tag-hyphenated elements
authorLeonardo Braga <leonardo.braga@gmail.com>
Sun, 4 Jan 2015 22:48:35 +0000 (17:48 -0500)
committerOleg Gaidarenko <markelog@gmail.com>
Tue, 13 Jan 2015 04:42:52 +0000 (07:42 +0300)
Ref #1987

src/core/var/rsingleTag.js
test/unit/core.js

index 7e7090b77b3d80ea1a3c12e985db469dd6b72a63..a8176dc647a969283e37f0a60c360a5cfe00c4de 100644 (file)
@@ -1,4 +1,4 @@
 define(function() {
        // Match a standalone tag
-       return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
+       return (/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/);
 });
index 1852a427a743f309dce78c5d53cd62dc701dd96c..eb05130c54de9b02b94630165cc990687f9238c1 100644 (file)
@@ -594,6 +594,19 @@ test("jQuery('html')", function() {
        equal( jQuery( "\\<div\\>" ).length, 0, "Ignore escaped html characters" );
 });
 
+test("jQuery(tag-hyphenated elements) gh-1987", function() {
+       expect( 17 );
+
+       jQuery.each( "thead tbody tfoot colgroup caption tr th td".split(" "), function( i, name ) {
+               var j = jQuery("<" + name + "-d></" + name + "-d>");
+               ok( j[0], "Create a tag-hyphenated elements" );
+               ok( jQuery.nodeName(j[0], name.toUpperCase() + "-D"), "Tag-hyphenated element has expected node name" );
+       });
+
+       var j = jQuery("<tr-multiple-hyphens></tr-multiple-hyphens>");
+       ok( jQuery.nodeName(j[0], "TR-MULTIPLE-HYPHENS"), "Element with multiple hyphens in its tag has expected node name" );
+});
+
 test("jQuery('massive html #7990')", function() {
        expect( 3 );