按文本输入过滤,如何添加正则表达式? - 香草 JS
Filter by text input, how can I add RegEx? - Vanilla JS
我正在使用 Mixitup.js 和原版 Javascript。 Here's a working JSFiddle.
当您输入“蓝色”、“绿色”或“粉色”时,它只会显示具有 class 名称的元素。
我想要的是使用 ReGex 过滤结果,例如使用:new RegExp('^|\s','gi')
。但是,我不知道如何正确编写它,也不知道如何将其实现到代码中。
现在,当您输入“reen”时,它仍然会显示“green”的结果。我不想要这个。我只想要从单词开头匹配的结果(因此 ^|
)。
我保留了开发者演示脚本中的注释,希望对您有所帮助。 Full demo is here
感谢您的帮助!
据我了解,您使用的是基于 selector 到 select 元素的属性,其中 class 以特定文本开头。但在您的示例中,元素有两个 classes“混合”和颜色名称
class ="mix green"
仅仅使用[class^=颜色class名称]是行不通的。
尝试替换
mixer.filter('[class*="' + searchValue + '"]');
和
mixer.filter('[class^="mix ' + searchValue + '"]');
我正在使用 Mixitup.js 和原版 Javascript。 Here's a working JSFiddle.
当您输入“蓝色”、“绿色”或“粉色”时,它只会显示具有 class 名称的元素。
我想要的是使用 ReGex 过滤结果,例如使用:new RegExp('^|\s','gi')
。但是,我不知道如何正确编写它,也不知道如何将其实现到代码中。
现在,当您输入“reen”时,它仍然会显示“green”的结果。我不想要这个。我只想要从单词开头匹配的结果(因此 ^|
)。
我保留了开发者演示脚本中的注释,希望对您有所帮助。 Full demo is here
感谢您的帮助!
据我了解,您使用的是基于 selector 到 select 元素的属性,其中 class 以特定文本开头。但在您的示例中,元素有两个 classes“混合”和颜色名称
class ="mix green"
仅仅使用[class^=颜色class名称]是行不通的。
尝试替换
mixer.filter('[class*="' + searchValue + '"]');
和
mixer.filter('[class^="mix ' + searchValue + '"]');