1
ysc3839 2021-10-06 05:59:31 +08:00 2
|
2
xiangyuecn 2021-10-06 15:50:49 +08:00
哟呵 写 bug 呢。这种功能从本质上来讲,确实 完全 没有 要进行支持的必要性。
|
3
autoxbc 2021-10-06 17:27:52 +08:00 1
#1 给的并不对题,这里需要的是文字内容检测选择器,而不是节点包含检测函数
原生 CSS 并没有文字内容选择器,所以不能直接使用,只能先选元素,再进行文字内容检测 [...document.querySelectorAll('div')].filter( e => e.textContent.includes('测试') ) 如果了解 XPath 语法,也可以用 XPath 表达式检测文字,理论上性能更好 |
4
ysc3839 2021-10-06 18:44:22 +08:00 via Android
@autoxbc 但是那就是 jQuery 实现 :contains() 的代码。
还是说是我搞错了,实际上实现 :contains() 的代码不是这个? |
5
ysc3839 2021-10-06 18:53:09 +08:00 via Android 1
@autoxbc 抱歉,我确认了一下,确实不是选择器中的实现代码。
正确的代码应该是这段 https://github.com/jquery/jquery/blob/de5398a6ad088dc006b46c6a870a2a053f4cd663/src/selector.js#L858-L863 |
6
uqf0663 OP @xiangyuecn 格局小了啊,看应用场景的,这功能在搞 vue 页面的模拟爬虫的时候非常实用。
|