私は書くことに慣れています$('<div>')
。
しかし、今日、次の構文を使用する john-resig による高度な jquery に関するプレゼンテーションを見ました$('<div/>')
。
http://loft.bocoup.com/john-resig-advanced-jquery/
私には、それらは同じ出力を生成するようです。
私の質問は: と の間に違いは
$('<div>')
あり$('<div/>')
ますか?
私は書くことに慣れています$('<div>')
。
しかし、今日、次の構文を使用する john-resig による高度な jquery に関するプレゼンテーションを見ました$('<div/>')
。
http://loft.bocoup.com/john-resig-advanced-jquery/
私には、それらは同じ出力を生成するようです。
私の質問は: と の間に違いは
$('<div>')
あり$('<div/>')
ますか?
いいえ、jQuery はこれらのステートメントをまったく同じものに正規化します。
jQuery thoの以前のバージョンでは、何らかの理由<div>
で実際よりも高速でした。<div/>
それがまだ当てはまるかどうかはまだわかりません。
http://jsperf.com/jquery-constructor-performance
このバグ/機能はもはや真実ではないようです。
<div>
、<div/>
、<div></div>
、さらには<div/></div>
(はい、これは 1 つの要素のみを作成します) すべてがsingleTag
通常の再表現をトリガーし、jQuery に を呼び出しますdocument.createElement("div")
。html パーサーにはまったく渡されませんでした。
これがあなたが遊ぶことができる正規表現です。それがtrueを返す場合、それはdocument.createElement'd
var rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/;
<div>
は開始タグです。<div/>
自己終了タグです。ただし、このコンテキストでは違いはありません。