如何使用 js/jquery 搜索之前附加的文本

How to use js/jquery to search text appended previously

本文关键字:文本 搜索 何使用 js jquery      更新时间:2023-09-26

我有一个页面,它从场外资源中提取信息,并将信息附加到页面。 这是大量的数据,需要几分钟来收集和附加所有数据。

我正在使用ajax来提取数据,并使用jQuery的.append()发布到我的页面。 然后,我可以触发另一个函数,该函数接收搜索词并查看正文以查找匹配的单词并计算匹配总数。

我意识到我在DOM之外搜索数据的方法存在根本性问题,但我对替代方案持开放态度。

我的搜索功能如下所示:

function qtySearch(){
    var term = $('.qtySearch').val();
    var termRegex = new RegExp ("''b" + term + "''b", "gi");
    var matchRez = $(document.body).text ().match (termRegex);
    var termCount   = matchRez ? matchRez.length : 0;
    var countReport = "";
    switch (termCount) {
            case 0:
                countReport = '"'+term+'" was not found!'
            break;
            case 1:
                countReport = '"'+term+'" was found one time.'
            break;
            default:
                countReport = '"'+term+'" was found ' + termCount + ' times.'
            break;
     }
    $("#searchResults").text(countReport);
}

详细地说,上面的代码确实可以搜索页面加载上已经显示的所有元素。 但是,它无法匹配在页面加载后通过 .append() 绘制的任何术语。

卡尔-安德烈·加农,谢谢! 有时我看不到树木的森林。 过去,我在追加后遇到过访问信息的问题,并认为这更像是相同的。

实际上,我格式化文本的方式禁止我在正则表达式的两侧不使用分词符来仅识别整个单词。 如果单词是第一个或最后一个,它根本不会返回它。 最终,我不确定是附加物阻止了它拿起胡萝卜,还是只是因为我正在搜索页面文本,但是在调整正则表达式后,它现在可以工作了。