Updated: ":upward() vs :has()"

garry-ut99 2024-10-27 17:45:58 +00:00
parent 9c6d0300ef
commit 19b2127cce

@ -10,7 +10,7 @@ See:
- https://reddit.com/r/uBlockOrigin/comments/wxdyfn/comment/ilqyveu/
- https://reddit.com/r/uBlockOrigin/comments/j4ewg7/comment/g7imasx/
Keep in mind that Chromium now supports `:has()` natively (soon to be enabled by default on Firefox too), so native `:has()` should be more efficient than `:upward()` which needs to Javascript code to function.
Keep in mind that all major browsers now supports `:has()` natively, so native `:has()` should be more efficient than `:upward()` and procedural `:has()`, which need Javascript code to function. When using `:has()` uBlock will automatically switch to native `:has()` if it's available in browser, if it's unavailable uBlock will fallback to a procedural `:has()`.
Sometimes using `:upward()` instead of `:has()` _might_ be more performant. `:upward()` is fast, it just lookup ancestors -- there is only one parent per element, `:has()` has to lookup descendants, there can be many children per elements.