6

重複の可能性:
jQuery での $('<element>') と $('<element />')

私は書くことに慣れています$('<div>')
しかし、今日、次の構文を使用する john-resig による高度な jquery に関するプレゼンテーションを見ました$('<div/>')
http://loft.bocoup.com/john-resig-advanced-jquery/

私には、それらは同じ出力を生成するようです。

私の質問は: と の間に違いは $('<div>')あり$('<div/>')ますか?

4

3 に答える 3

7

いいえ、jQuery はこれらのステートメントをまったく同じものに正規化します。


jQuery thoの以前のバージョンでは、何らかの理由<div>で実際よりも高速でした。<div/>それがまだ当てはまるかどうかはまだわかりません。

http://jsperf.com/jquery-constructor-performance

このバグ/機能はもはや真実ではないようです。

于 2012-12-12T17:09:55.443 に答える
5

<div><div/><div></div>、さらには<div/></div>(はい、これは 1 つの要素のみを作成します) すべてがsingleTag通常の再表現をトリガーし、jQuery に を呼び出しますdocument.createElement("div")。html パーサーにはまったく渡されませんでした。

これがあなたが遊ぶことができる正規表現です。それがtrueを返す場合、それはdocument.createElement'd

var rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/;
于 2012-12-12T17:14:13.873 に答える
4

<div>は開始タグです。<div/>自己終了タグです。ただし、このコンテキストでは違いはありません。

于 2012-12-12T17:10:16.063 に答える