0

我对 jquery 还很陌生,并且仍然掌握基础知识,但我设法使用 .load 函数从外部 html 文档中提取表。但是我遇到的问题是,当我在 index.html 中显示这个外部 html 时,它会显示整个表格,因此我将如何仅从表格中提取和显示特定的数据,例如 10°?

外部Html如下。(我不允许更改 html,即我不能添加 ID 等)

<tbody>
<tr>
<th id="tbl241id1_0" scope="row">fri 11 june</th>
<td headers="e134567_0 e1345670_1">
<td headers="e134567_0 e1345670_2">10°C / -1°C</td>
<td headers="e134567_0 e1345670_3">4:30 am / 4:42 pm</td>
<td headers="e134567_0 e1345670_4">8:50 am / 5:13 pm</td>
<td headers="e134567_0 e1345670_5">1 (High)</td>
</tr>

这就是我试图解决这个问题的方法,但它仍然没有检索到。

 $("#showWeather").load("/info_weather.html tbody ").map (function(){
//displayed the weather table into index.html

var $temps = $(this); 

return{

text: $temps.find(':nth-child (3)').text() 

};


}).get();

我假设上面的标记是不正确的,任何想法。谢谢。

4

3 回答 3

0

尝试

$("#showWeather").load("/info_weather.html tbody ", function(){
    console.log($('td:nth(1)').html());
})
于 2013-08-27T13:37:34.323 回答
0

尝试:

$("#showWeather").load("/info_weather.html tbody ", function(){
    console.log($('td:contains("10°C")').html());
})
于 2013-08-27T13:35:53.877 回答
0

这个解决方案非常脆弱。如果源标记发生更改,您的代码将不再工作。但是,您可以在 jQuery 中按属性进行选择。尝试这个:

$("#showWeather").load("/info_weather.html [headers='e134567_0 e1345670_2']");

此代码应仅加载包含您要定位的数据的 td。

通常,使用属性选择器以更细粒度的方式定位 DOM 元素。

于 2013-08-27T13:43:23.160 回答