2017-08-07 6 views
1

データ属性が一致する場合、ボタンをクリックしたときに対応するdivを表示するには、次のようにします。どのように私は一致しない他のすべてを非表示にすることができますか?データ属性の一致、残りの部分の非表示

$('.document-container').click(function() { 
    var myEm = $(this).data('language'); 
    $('.documents[data-document = '+myEm+']').show(); 
}); 

答えて

1

あなたはshow()のものを見つけるために、すべての要素、filter()hide()を呼び出すことができます。このような何か:

$('.document-container').click(function() { 
    var myEm = $(this).data('language'); 
    $('.documents').hide().filter('[data-document="' + myEm + '"]').show(); 
}); 
0

これを試してみてください:

$('.document-container').click(function() { 
    var myEm = $(this).data('language'); 
    $(".documents[data-document = '" + myEm + "']").show(); 
}); 
+0

何を変更しましたか? *編集* - ああ、引用符を見ました。これは、OPが解決しようとしている問題には影響しません。 –

0

あなたはちょうどこのように、 "私が見せたいものではありませんすべてを隠す" と言うことができます。

$("*:not('#divToShow')").hide(); 

私が作りましたあなたはそれを試すJsfiddle:https://jsfiddle.net/Flyout/5qf2vadx/

関連する問題