使用 document.querySelectorAll() 可以只获取特定元素内的元素吗?

It's possible to get only the elements inside a specific element using document.querySelectorAll()?

所以我有一个看起来像这样的函数:

function myFunc(targetElements, otherThings... ){
let elements = document.querySelectorAll(targetElements);
//...
//otherThings...
}

但有时我不需要让函数在整个文档的元素中执行,而是需要此函数来仅访问特定元素内的元素,而我已经在函数外部拥有这些元素,如下所示:

let ul = document.querySelector('#mySpecificUl');
//should use myFunc(childsOfUl, otherThings... ) to perform in the elements "a" inside "ul"

我想知道是否可以在不必更改我已有的功能的情况下做到这一点,可能看起来像这样:

let ul = document.querySelector('#mySpecificUl');
myFunc(ul > "a", otherThings...); //like this or something

更清楚地说,我想知道的是,是否可以将 document.querySelectorAll() 的范围限制为仅在特定子级中执行一个元素, 可以像这样工作的东西:

ul.querySelectorAll()

但是

document.querySelectorAll()

它可能看起来像 document.querySelectorAll(ul > "a"); 之类的。

感谢所有抽出时间的人。

Elements have querySelectorAll 方法也是:

let ul = document.querySelector('#mySpecificUl');
ul.querySelectorAll('a') // will contain all <a> descendants of #mySpecificUl

如果您不想首先 select 元素,您可以在单个 querySelectorAll 中使用后代 select 或 (a space)或 child select 或 (>):

// children
document.querySelectorAll('#mySpecificUl > a')
// all descendants
document.querySelectorAll('#mySpecificUl a')