2011-02-04 6 views
0

htmlに特定の言葉が存在する場合、最も近い表を削除する操作をしたいと思います。Jqueryは最も近いtr失敗を取り除きます

htmlが他の側から取得されているため、いつでも任意のクラスを削除して変更することができるため、そこにスパンクラスが存在するとは思いません。

内部のclass/idイベントをクリックしたときではなく、ページの読み込み時に行う必要があります。

難しいです。どのようにこれを達成するための任意のアイデア?ページロードで

、「こんにちは、どのようにしている」ページに存在しているかどうかを検出する

jqueryの。以下のように

If exist 
    remove the whole td or tr or table for this particular. 
else 
    do nothing. 
end 

コード:

function replaceText() 
{ 

    var debug; 
    debug= ""; 


    $("*").each(function() { 
     if($(this).children().length==0) 
    { 
//   $(this).text($(this).text().replace('Hello how are you', 'yohoo')); 

     debug= debug + $(this).val() + "<br>"; 

     if($(this).val()=="Hello how are you") 
     { 
      $(this).closest('table').remove(); 
     } 

     } 
    }); 

//alert(debug); 

} 


<div> 


<table> 

    <tr> 

    <td colspan="2"> 


     <div> 


      <table> 

      <tr> 

      <td ><span class="myclass">Hello how are you</span></td> 

      <td><a href="testing.php"></a></td> 

      </tr> 

      </table> 


     </div> 


    </td> 

    </tr> 


    <tr colspan="2"> 
     <table> 

     <tr> 

     <td><b>want to remove this</b></td> 

     </tr> 

     </table> 
    </tr> 

    <tr> 
     <td>other content 1</td> 
     <td>other content 2</td> 
    </tr> 

</table> 

</div> 
+2

私はあなたが ''は、.textセクション() ''(.val)ないしたいと思います。 valは入力、選択、テキストエリア用です... –

答えて

0

あなたはテキストが存在するかどうかを確認するために:containsを使用することができます。

$(":contains('Hello how are you')").each(function(n){ 
    if ($(this).children().length == 0){ 
     $(this).closest('table').remove(); 
    } 
}); 

このコード意志どのようにテキスト」こんにちはが含まれているすべての要素をループ君は'。正確な一致が必要な場合は、$(this).text() == 'Hello how are you'もチェックできます。これらの要素を見つけたら、子を持っていないことを確認し、その条件に合格すると最も近い表を削除します。ページが読み込まれ、このコードを実行document.ready機能でそれをラップする

$(document).ready(function(){ 
    ... 
}); 
関連する問題