0

私はjqueryにかなり慣れておらず、まだ基本を把握していますが、.load関数を使用して外部htmlドキュメントからテーブルを抽出することができました. ただし、私が抱えている問題は、この外部 html を index.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:contains("10°C")').html());
})
于 2013-08-27T13:35:53.877 に答える
0

試す

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

この解決策はかなり脆弱です。ソース マークアップが変更されると、コードは機能しなくなります。ただし、jQuery では属性で選択できます。これを試して:

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

このコードは、対象のデータを含む td のみをロードする必要があります。

一般に、属性セレクターを使用して、よりきめ細かい方法で DOM 要素をターゲットにします。

于 2013-08-27T13:43:23.160 に答える