ドキュメントに書いてあるけど、$()
で DOM エレメントを作成するときの引数は、html。
タグの外側にテキストがあったときに、思っていたのとは違う結果になった。
単純な例。こういうテキストは、
var str = '山田 <span class="name">太郎</span>';
こうなった。
console.log( $(str) ); // -> [<span class="name">太郎</span>] console.log( $(str).find('.name') ); // -> []
テキストすべてから要素を作りたかったので外側を html タグで囲んだ。
var htmlStr = '<p>' + str + '</p>'; console.log( $(htmlStr) ); // -> [<p>山田 <span class="name">太郎</span></p>] console.log( $(htmlStr).find('.name') ); // -> [<span class="name">太郎</span>]