如何使用JQuery切换(隐藏/显示)文本区域中包含特定文本的所有行

How to use JQuery to toggle (hide/show) all lines in a text area that contain certain text?

本文关键字:文本 包含特 区域 切换 JQuery 何使用 隐藏 显示      更新时间:2023-09-26

我有一个文本区域,我需要根据一些简单的标准(是否存在字符串)显示/隐藏某些行。我希望用户能够选中复选框来显示或隐藏这些行。

基本上,我将为复选框附加一个单击处理程序,如果单击—我需要获得文本区域的值,然后应用过滤。如果他们取消复选框,我希望原始结果再次显示。

    $('#filter_button').click(function() {
        var unfilteredArray    = $('#unfilteredtextarea').val().trim().split(''n');
        for (var i = 0; i < unfilteredArray.length; i++) {
    if (VALUE IS PRESENT){
     HIDE LINE;
    } else {
     DISPLAY LINE;
    }
        }
    });

我知道我可以在Javascript中使用FOR循环读取每一行并检查每一行,但如果textarea包含4000多行,那可能会很昂贵。

是否有一种方法,我可以使用JQuery来简化这个或不同的方式,我应该考虑这个?如有任何帮助,不胜感激。

谢谢。

您是否考虑过使用textarea的scrollTop属性来限制您正在迭代交叉的行?

这至少允许您约束搜索op

的开销