2011-02-04 4 views
0

最初の表のフルHTMLは他のウェブサイトから抽出されます。Jqueryはこのノードの生のhtmlを取得します

私はそれをさらに処理する必要があります。

言い回しが一致する場合、現在の<body>タグ内の内容を上書きするために、テーブル全体のhtmlブロックのみを取得したいとします。

問題は今、テーブル全体のhtmlブロックを印刷できません。

「ヘッダータイトル」は動的値です。時々、私はより多くの比較基準を追加します。一致する場合、私は表のHTMLのみ、starting from <table> to </table>を取得しますが、bodyタグ内の他のすべてのhtmlは、テーブルタグの外に拭き取る必要があります。

<body> 
    <!-- Additional HTMl code --> 
    <div align="right"> 
    <table width="100" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
     <td height="30" valign="top"><strong>Header Title</strong></td> 
     </tr> 
     <tr> 
     <td height="32" valign="top">Date : <strong>01/01/2011 </strong> <br></td> 
     </tr> 
     <tr> 
     ... 
     </tr> 
    </table> 
    <!-- Additional HTMl code --> 
    </div> 
</body> 
$("*").each(function() { 
    if($(this).children().length==0){ 
    if($(this).text()=="Header Title"){ 
     alert('match'); 
     alert($(this).closest('table').html()); //not working... 
    } 
    } 
+0

ご質問が不明です。あなたは何をする必要があるのか​​をもっと説明することができますか?あなたが今やっていることがどのように機能していないのですか? –

+0

基本的に 'ヘッダータイトル'は動的な値です。 私は時々、より多くの比較基準を追加します。 もし一致すれば、テーブルhtmlのみ(他の使い方のために)、他のすべてのhtmlをボディーの必要なしに取得します。 –

+0

だから基本的にヘッダータイトルに基づいて、探しているものと一致すれば、html内のすべてのテーブルのすべてのhtmlコンテンツを検索して、テーブルの外のすべてを除外します。 – kjy112

答えて

0

UPDATE 2:テストし、作業:http://jsfiddle.net/inti/t9ysV/1/

UPDATE:待ち、欠落しているカントー(<table>タグ、進行中の作業...

Acually

あなたのjavascriptを逃す開始/終了最後の});)は次のようになります。

トリックは、一時的な要素にテーブルを配置し、その要素のHTMLコンテンツを読み込むことです。 (その後、それを削除します)

+0

[オブジェクト] [オブジェクト]を見るのではなく、divの一時コードに感謝しています。今度は実際に正しく実際の出力を見ることができました。 –

0

これは、div内のテーブルを検索し、最初の行の内容を探します。一致する場合は、完全なテーブルを返します。これは、ページ内の多くのテーブルでこれを行います。

$(function(){ 
    var t = $("div table"); 
    $(t).each(function(){ 
     if($(this).find("tr:first-child").text().trim() == "Header Title Match") { 
      console.debug($(this).parent("div").html()); 
     } 
    }) 
}) 

明らかに、コンソールのものを削除する必要があります。

関連する問題