2017-08-31 9 views
0

私はテーブル、#thetableデータベースからの行が含まれています。テーブルの上にはbutton「ディーゼル」があります。クリックしてデータ属性がディーゼルである行を表示する場合は、data-attributeのいずれかがdieselまたはpetrolのいずれかになります。しかし、それをクリックすると線が消えることはありません。jQuery非表示データの属性を介してテーブルの行を表示

助けていただければ幸いです。

function clickDiesel() { 
 
    $("tr[data-fuel=diesel]").css('visibility', 'hidden'); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button type="button" class="btn btn-default" style="margin-right: 1em" onclick="clickDiesel()"> 
 
    diesel 
 
    <span style="color: Green"> 
 
    <i class="fa fa-check"></i> 
 
    </span> 
 
</button> 
 

 
<table id="thetable"> 
 
    <tr data-fuel="diesel"> 
 
    <td>diesel</td> 
 
    </tr> 
 
    <tr data-fuel="petrol"> 
 
    <td>petrol</td> 
 
    </tr> 
 
</table>

+1

コードを実行可能なスニペットに配置して正常に動作するように見えました。あなたのコード内のどこかでコンソールのエラーをチェックしてください。また、 - ページ自体に読み込まれた後*ページに追加されたテーブルのデータですか?例えば、AJAXを介して。また、脇に、私は時代遅れの 'on *'イベント属性を削除し、代わりに控えめなJSを介してイベントハンドラをアタッチすることをお勧めします。 –

+0

可視性を変更する代わりに '.hide()'を試してください。隠された可視性はレンダリングされたときにも同じ空間を占め、これは「消えていない」という問題を引き起こす可能性があります。 –

+0

完璧に機能し、私は.hide()を使用しました。 – Jim

答えて

1

<script> 
function clickDiesel() 
{ 
    $("tr[data-fuel='diesel']").css('visibility', 'hidden'); 
} 
</script> 
+0

https://meta.stackoverflow.com/questions/300837/what-c​​omment-should-i-add-to-code-only-answers –

+0

試してみたが、消えていない – Jim

0

例えば、ボタンにIDを追加してみてください:

<button type="button" id="hideRowBtn" class="btn btn-default" style="margin-right: 1em"> 
    diesel 
    <span style="color: Green"> 
    <i class="fa fa-check"></i> 
    </span> 
</button> 

は、その後、あなたのサイトの頭の中でこれを追加します。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#hideRowBtn').on('click', function() { 
       $("tr[data-fuel='diesel']").hide(); 
     }); 
    }); 
</script> 
関連する問題