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

时间:2015-01-16 13:53:34

标签: javascript jquery

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

我使用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);
}

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

1 个答案:

答案 0 :(得分:0)

Karl-AndréGagnon,谢谢!有时我看不到森林里的树木。在过去追加之后我遇到了访问信息的问题,并认为这更像是一样。

实际上,我格式化文本的方式禁止我在我的正则表达式的任何一侧都不使用单词分隔符来识别整个单词。如果这个词是第一个或最后一个,它根本就没有返回它。最后我不确定附加物是否阻止它拾取胡萝卜,或者是否只是我正在搜索页面文本的事实,但在调整正则表达式之后它现在正在工作。