我有这行代码:
const actions = $('.leaflet-draw-actions a:visible').length;
消除了许多错误:
DOMException: Failed to execute 'querySelectorAll' on 'Document': '.leaflet-draw-actions a:visible' is not a valid selector.
at Function.Sizzle [as find] (...\node_modules\jquery\dist\jquery.js:869:1)
我想选择 .leaflet-draw-actions div的所有链接可见子项。
你知道一个更好的有效选择器吗?
答案 0 :(得分:1)
来自官方文件:
因为
:visible
是 jQuery 扩展名而不是 CSS 的一部分 规范,使用:visible
的查询无法利用 本机 DOMquerySelectorAll()
提供的性能提升 方法。使用:visible
进行选择时,可获得最佳性能 元素,首先使用纯 CSS 选择器选择元素,然后 使用.filter(":visible")
。
显然它试图调用querySelectorAll