2017-11-30 9 views
1

特定の値であるname属性に基づいてフィルタリングするテーブルがあります。私はこれを試していたが動作していない。 特定のテキストが行内にある場合、これが機能することはわかっています。特定のセルのname属性に基づくフィルタテーブル

$('td').parent('tr:not(:contains("' + value + '"))').hide(); 

私が行を持っており、内部の画像を持つセルがあることを、このイメージは、名前を持っている、私は非表示にするには、イメージ名に基づいて行を表示したいです。

<table id="table"> 
    <tr> 
    <td><img src="H1.gif" alt="" name="image1"></img></td> 
    <td>Maria Anders</td> 
    <td>Germany</td> 
    </tr> 
    <tr> 
    <td><img src="H2.gif" alt="" name="image2"></img>/td> 
    <td>Francisco Chang</td> 
    <td>Mexico</td> 
    </tr> 
</table> 

これはサンプルテーブルで、このコードも試してみましたが、うまく動作しませんでした。 値である名前を持っていない行を非表示にしようとしています。

$('td').parent('tr:not(:contains(name=["' + value + '"]))').hide(); 

助けてください。

答えて

1

私の解決策は以下のとおりです。

var val = "image1"; 
 
$("#table").find("img:not([name="+ val +"])").parents("tr").hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="table"> 
 
<tr> 
 
<td><img src="http://via.placeholder.com/150x150" alt="" name="image1"/></td> 
 
<td>Maria Anders</td> 
 
<td>Germany</td> 
 
</tr> 
 
<tr> 
 
<td><img src="http://via.placeholder.com/150x150" alt="" name="image2"/></td> 
 
<td>Francisco Chang</td> 
 
<td>Mexico</td> 
 
</tr>

+0

そのあなたがこのコードを使用することはでき – Adam

+0

@Adam私のために働いていない、JSFiddleで問題を再現し、共有しますか? –

+0

あなたのスニペットを編集しましたが、おそらくボディエレメントが間違った問題ですか? – Adam

関連する問題