アップデート:
#output div の内容が空である理由がようやくわかりました。これは、コンテンツがサーバーから取得され、その処理に時間がかかるためです。そのため、ドキュメントが読み込まれるまでに、この div のコンテンツはまだ空です。
JavaScript や jQuery など (クライアント側プログラミング) のみを使用して、遅延した div コンテンツから情報を抽出することについて考えている人はいますか?
非常に大きな文字列を格納する変数があり、その内容は html です。それをコンテンツと呼びましょう。
それから
var html = $.parseHTML(コンテンツ);
この後、このチャンクを見つけたい(そしてそこから値を抽出したい)
<div id="output" style="float:left;width:150px;margin:30px 0 0 1px;"><div class="result-title">Caltex/Woolworths St Kilda</div><div class="result-text">price: 152.9c<br>address: 99 Chapel St & Inkerman St, St Kilda East</div><div class="result-title">BP East Prahran</div><div class="result-text">price: 152.9c<br>address: 549 High St & Chatsworth Rd, Prahran</div><div class="result-title">BP Balaclava</div><div class="result-text">price: 152.9c<br>address: 308 Carlisle St & Blenheim St, Balaclava</div><div class="result-title">7 Eleven St Kilda</div><div class="result-text">price: 153.9c<br>address: 154-158 St Kilda Rd & Alma Rd, St Kilda</div><div class="result-title">BP AA Prahran</div><div class="result-text">price: 153.9c<br>address: 500 Malvern Rd, Prahran</div></div>
私はそれをループしようとしましたが、そのチャンクを見つけるためにどの属性を使用すべきかわかりません。
function onS(data)
{
var html = $.parseHTML(data.responseText);
$.each(html, function (i, ele) {
if (ele.nodeName == '#div')
{
alert('found it!!!');
}
});
alert("Data Loaded: " + data.responseText);
}
助けてください。
****アップデート:****
コード:
function onS(data)
{
// Niclas
var nodes = $('#output', data.results[0]);
alert("Data Loaded: " + nodes.html());
//Adeneo
var node = $(data.results[0]).find('div#output');
alert("Data Loaded: " + node.html());
}
実行時の値 (innerHTML を見てください) は、どちらの方法でも空です。
(写真が小さすぎるように見えます。Ctrl + マウス ホイールを押して拡大/縮小できます)