按文本输入过滤,如何添加正则表达式? - 香草 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 + '"]');