それは同じだ:
コンストラクター メソッドのjquery ソースから
// Match a standalone tag
rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
jQuery.fn = jQuery.prototype = {
constructor: jQuery,
init: function( selector, context, rootjQuery ) {
//cut
if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
// Assume that strings that start and end with <> are HTML and skip the regex check
match = [ null, selector, null ];
}
//cut
// scripts is true for back-compat
selector = jQuery.parseHTML( match[1], doc, true );
if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
this.attr.call( selector, context, true );
}
// cut
}
//CUT
parseHTML: function( data, context, scripts ) {
// Single tag
if ( (parsed = rsingleTag.exec( data )) ) {
return [ context.createElement( parsed[1] ) ];
}
}
正規表現が と の両方にrsingleTag
一致することがわかるように、最初のコントロールは、文字列の長さが >=3の開始文字と終了文字のみをチェックします。<div/>
<div>
<
>
parseHTML メソッドは再び正規表現を実行するため、セレクターはタグの名前になります。