在 div 的所有子级中搜索文本并隐藏不包含它的文本

我想隐藏所有不包含我在 .


我试过这样的事情:


var $searchBox = $('#search-weeazer');

$searchBox.on('input', function() {

    var scope = this;

    var $userDivs = $('.information ');

    if (!scope.value || scope.value === '') {

        $userDivs.show();

        return;

    }

    $userDivs.each(function(i, div) {

        $('div:contains(scope.value)').hide();

    })

});

但不起作用(我知道我会隐藏包含文本的 div,用于测试目的^^)


div 是在 Ajax 调用后动态创建的,div 的结构是这样的:


"<div class=\"row information text-white shadow-lg p-2 mb-2\">" +

        "<div class=\"col-3 profilePicture\">" +

            "<img src=\"../../img/bg-masthead.jpg\" alt=\"Immagine profilo\" class=\"profileImage rounded-circle\">" +

            "<div class=\"results\">" +

                "<div class=\"results-content\">" +

                    "<span class=\"stars\">3</span>" +

                "</div>" +

            "</div>" +

        "</div>" +

        "<div class=\"col-9 infos\">" +

            "<div class=\"row\">" +

              "<div class=\"col-4 nome\"><b>Nome: </b>" + nome + "</div>" +

              "<div class=\"col-4 regione\"><b>Regione: </b>" + regione + "</div>" +

              "<div class=\"col-4 citta\"><b>Città: </b>" + citta + "</div>" +

            "</div>" +

            "<div class=\"row\">" +

                "<div class=\"col-4 dataNascita\"><b>Data di nascita: </b>" + eta + "</div>" +

                "<div class=\"col-4 coaching\"><b>Coaching online: </b>" + (coaching === "T" ? "Sì" : "No") + "</div>" +

                "<div class=\"col-4 sesso\"><b>Sesso: </b>" + (sesso === "F" ? "Femmina" : "Maschio") + "</div>" +

            "</div>" +

            "<div class=\"row border-bottom\">" +

                "<div class=\"col-6 blurry-text cellulare\"><b>Cellulare: </b>" + cellulare + "</div>" +

                "<div class=\"col-6 blurry-text email\"><b>Email: </b>" + email + "</div>" +

             "</div>" +

            "<div class=\"row descriptionText \">" +

                "<div class='col-10 descrizione'>" + descrizione + "</div>" +


但是脚本现在什么都不做。有什么建议吗?


互换的青春
浏览 125回答 2
2回答

慕哥6287543

$('div:contains(scope.value)')应该...$('div:contains("'+&nbsp;scope.value&nbsp;+'")')因此该值被附加到字符串中。请记住,如果该值可以包含双引号,则必须对它们进行转义。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript