jQuery.ajaxにはload の短縮形で、XHRしたHTMLの任意の要素を抜き出すことができる。
$(element).load()
$("#sample").load("/index.html #container ")
これがすごく便利で、Ajax専用の別テンプレートや、JSONAPIを作らなくて楽ちんなんですね。
でも、CSSセレクタを書くことしかできない。
selectors で要素は取得出来るんだけど、 /index.html中のテキストを取得することは出来ない
以下の様なことは不可能。
$("#sample").load("/index.html #container/text() ") ←当然動かない。
CSSセレクタ部分に、Xpathでも書ければ何とかなるんですがね。
Xpathならtext()を結果として取り出せるんですけど、CSSセレクタだとそうも行かない。
解決策$("<div>")する
$("#sample").load("/index.html", {} , function(responseHtml){ return $("<div>").html(responseHtml).find(" #container ").text() } )