I have seen a brunch of solution about how to show/hide the div which do not contains(or contains) specific keywords but none of them do help.
So far I have done some codes like this:
<div class="media">Title : orange</div>
<div class="media">this is something about orangessss yolo</div>
<div class="media">Title : apple</div>
<div class="media">this is something about apple yolo</div>
<button id="filter">test</button>
And I have a method to fliter the elements:
        var KeywordArr = ["orange","orangessss"];
$('#filter').click(function () {  
        var key = $(".media"); 
        var word= key.find(".media").html();
            if(!word && word.toLowerCase().match([KeywordArr])) {
            $(".media").css("display", "none");
        }
});
These codes suppose to add "display:none" to every "media" class which does not contains any keywords included in the array. But it's not working as my exception.
So how can I hide all the elements when the "< div"> do not have the value contain in keywordArr?
Solution:
 $('#filter').click(function () {  
            var elems = $(".media");
            var KeywordArr = ["orange", "orangessss"];
            var res = $();
            for (var i = 0; i < KeywordArr.length; i++) {
              res = res.add(elems.filter(":contains('" + KeywordArr[i] + "')"));
            }
            elems.not(res).hide();
    });
 
     
    