如何用原生JS将textContent.includes改为精确文本匹配?
解决方案
你只需要把判断条件从includes()改成去除前后空白后的严格相等匹配即可,这样就能确保只有元素文本完全等于sometext时才添加div,包含其他内容的情况会被排除。
修改后的代码如下:
const descriptions = document.querySelectorAll(".class"); function showDescription() { for (const description of descriptions) { // 先清理文本前后的空白(比如换行、空格),再做精确匹配 if (description.textContent.trim() === "sometext") { description.insertAdjacentHTML("beforeend", "<div></div>"); } } } showDescription();
补充说明
- 如果你的元素文本前后绝对不会有空白字符,也可以直接写
description.textContent === "sometext",不需要trim()。 trim()会去除文本首尾的空格、换行符、制表符等空白字符,避免因为这些不可见字符导致匹配失败。
内容的提问来源于stack exchange,提问作者Jerry
相关产品推荐
相关产品推荐

