如何使用 javascript 提取 <main> 元素中的所有 href
How can I extract all href's within the <main> element using javascript
我正在尝试使用javascript 创建一个数组,该数组包含main 元素 中的所有href。现在我不是程序员,但我想我会尝试以两种方式中的任何一种来处理它:
a) 隔离主要元素 (document.getElementsByTagName("main")) 然后尝试从此对象中提取所有 href。
b) 创建页面上所有 href 的数组 (document.links),然后检查每个 href 是否有 main 作为父节点。
到目前为止,我还没有找到两种方法的解决方案。任何人都可以帮助我创建一个包含 main 中所有 href 的数组的代码片段吗?非常感谢。我已经花了几个小时自己弄明白了 xl
示例HTML:
<main>
<div id="content">
<div class="classA">
<a href="/pagePathA/"></a>
</div>
<div class="classB">
<a href="/pagePathB/"></a>
</div>
</div>
</main>
使用querySelectorAll
let hrefs = [...document.querySelectorAll('main a[href]')].map(({href}) => href);
console.log(hrefs);
<main>
<a href="#1">1</a>
<a href="#2">2</a>
<div>
<a href="#3">3</a>
</div>
</main>
如果你只想要 children 的主要部分,而不是所有的后代
let hrefs = [...document.querySelectorAll('main>a[href]')].map(({href}) => href);
console.log(hrefs);
<main>
<a href="#1">1</a>
<a href="#2">2</a>
<div>
<a href="#3">3</a>
</div>
</main>
我正在尝试使用javascript 创建一个数组,该数组包含main 元素 中的所有href。现在我不是程序员,但我想我会尝试以两种方式中的任何一种来处理它:
a) 隔离主要元素 (document.getElementsByTagName("main")) 然后尝试从此对象中提取所有 href。
b) 创建页面上所有 href 的数组 (document.links),然后检查每个 href 是否有 main 作为父节点。
到目前为止,我还没有找到两种方法的解决方案。任何人都可以帮助我创建一个包含 main 中所有 href 的数组的代码片段吗?非常感谢。我已经花了几个小时自己弄明白了 xl
示例HTML:
<main>
<div id="content">
<div class="classA">
<a href="/pagePathA/"></a>
</div>
<div class="classB">
<a href="/pagePathB/"></a>
</div>
</div>
</main>
使用querySelectorAll
let hrefs = [...document.querySelectorAll('main a[href]')].map(({href}) => href);
console.log(hrefs);
<main>
<a href="#1">1</a>
<a href="#2">2</a>
<div>
<a href="#3">3</a>
</div>
</main>
如果你只想要 children 的主要部分,而不是所有的后代
let hrefs = [...document.querySelectorAll('main>a[href]')].map(({href}) => href);
console.log(hrefs);
<main>
<a href="#1">1</a>
<a href="#2">2</a>
<div>
<a href="#3">3</a>
</div>
</main>