有人可以帮助我使用javascript函数,可以突出显示网页上的文本.并且要求是 - 仅突出显示一次,而不是像在搜索的情况下突出显示所有出现的文本.
如标题中所述,我想找到类似:contains()但匹配精确字符串的东西.换句话说,它不应该是部分匹配.例如,在这种情况下:
<div id="id">
<p>John</p>
<p>Johny</p>
</div>
Run Code Online (Sandbox Code Playgroud)
$("#id:contains('John')")将同时匹配John和Johny,而我想只匹配John.
提前致谢.
编辑: ES2015单线解决方案,万一有人找到它:
const nodes = [...document.querySelectorAll('#id > *')].filter(node => node.textContent === 'John');
console.log(nodes);Run Code Online (Sandbox Code Playgroud)
/* Output console formatting */
.as-console-wrapper { top: 0; }
.as-console { height: 100%; }Run Code Online (Sandbox Code Playgroud)
<div id="id">
<p>John</p>
<p>Johny</p>
</div>Run Code Online (Sandbox Code Playgroud)