Как искать текст в html с помощью JQUERY?

#javascript #jquery #search

#javascript #jquery #Поиск

Вопрос:

я попытался выполнить поиск текста в своем html-коде с помощью jquery, но безуспешно, это мой код:

     $("body").on("searchByLikuy", function(e, msg) {
        msg = msg.replace(/'/g, "'");
        found = $("*:contains('"   msg   "'):last");
        if(found.length > 0) {
            $('html, body').stop(true).animate({
                scrollTop: found.offset().top - 30
            }, 1000);
        }
    });
  

Когда html-код:

 <html>
<head>
</head>
<body>
<div class="test">
    abcde
</div>
</body>
</html>
  

и я ищу сообщение msg «abcde»
, которое работает нормально, и возвращаю в переменную «найдено» то, что мне нужно.
но когда html-код:

 <html>
<head>
</head>
<body>
<div class="test">
    <span>a</span>
    <span>b</span>
    <span>c</span>
    <span>d</span>
    <span>e</span>
</div>
</body>
</html>
  

он ничего не возвращает.
что я могу сделать для поиска?

спасибо

Ответ №1:

Вы можете попробовать просто :

 if( $("body").text().includes(msg) ) { ...
  

Или с помощью регулярного выражения :

 if( new RegExp(msg, "i").test( $("body").text() )) { ...