使用 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')
所以我有一个看起来像这样的函数:
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')