更新:
我终于弄清楚为什么#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+鼠标滚轮放大/缩小)