You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将jQuery的$(this).text().match(r)写法转换为原生JavaScript?

改写方案

你需要替换的if判断逻辑直接写 i.textContent.match(r) 即可,和原jQuery逻辑完全等价。

逻辑对应说明

  • jQuery 中 $(this).text() 的作用是获取当前DOM元素的全部纯文本内容,原生JavaScript直接读取DOM元素的textContent属性即可实现完全相同的效果
  • 若仅需要判断是否匹配正则、不需要获取具体的匹配结果,更推荐使用 r.test(i.textContent) 写法,性能更优,无需生成额外的匹配结果数组

完整改写后代码

const word = document.getElementById("searchField").value;
const r = new RegExp("(" + word + ")", "ig");

const pickComp = document.querySelectorAll('.list-item');
// 现代浏览器支持NodeList直接调用forEach,无需转Array,兼容性要求高可保留Array.from
pickComp.forEach((item) => {
    if (item.textContent.match(r)) {
        // 原匹配后执行的逻辑直接放在此处即可
    }
})

内容的提问来源于stack exchange,提问作者JustMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:24:04