我想隐藏所有不包含我在a内编写的文本的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>" +
                "<div class='col-2 align-items-center'><button type='button' class='btn btn-primary btn-large profileButton' data-id='" + id + "'>Profilo</button></div>" +
            "</div>" +
            "</div>" +
      "</div>"


但是该脚本暂时什么也不做。有什么建议吗?

最佳答案

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


应该...

$('div:contains("'+ scope.value +'")')


因此,该值将附加到字符串。请记住,如果值可以包含双引号,则必须将其转义。

10-01 19:49
查看更多