我怎样才能找到所有匹配特定模式的 <a> 标签?
How can I find all <a> tags that match a certain pattern?
我想匹配 href
中具有 example.com/app
的所有 a
标签。我如何使用 JavaScript 执行此操作?
您可以将 querySelectorAll
与 css attribute selector 一起使用:
document.querySelectorAll('a[href="www.example.com"]')
您可以 select 所有 a
元素然后检查它们是否有 href
值为 example.com/app
:
const a = document.getElementsByTagName("a");
let els = [];
for (let i = 0; i < a.length; i++) {
if ((a[i].getAttribute("href") == "example.com/app") || (a[i].getAttribute("href") == "https://example.com/app")) {
els.push(a[i]);
}
}
console.log(els);
<a href="example.com/app" id="1">1</a>
<a href="https://example.com/app" id="2">2</a>
<a href="example.com/app" id="3">3</a>
<a href="" id="4">4</a>
<a id="5">5</a>
<a href="https://example.com/app" class="6">6</a>
<a href="https://example.com/app">7</a>
我想匹配 href
中具有 example.com/app
的所有 a
标签。我如何使用 JavaScript 执行此操作?
您可以将 querySelectorAll
与 css attribute selector 一起使用:
document.querySelectorAll('a[href="www.example.com"]')
您可以 select 所有 a
元素然后检查它们是否有 href
值为 example.com/app
:
const a = document.getElementsByTagName("a");
let els = [];
for (let i = 0; i < a.length; i++) {
if ((a[i].getAttribute("href") == "example.com/app") || (a[i].getAttribute("href") == "https://example.com/app")) {
els.push(a[i]);
}
}
console.log(els);
<a href="example.com/app" id="1">1</a>
<a href="https://example.com/app" id="2">2</a>
<a href="example.com/app" id="3">3</a>
<a href="" id="4">4</a>
<a id="5">5</a>
<a href="https://example.com/app" class="6">6</a>
<a href="https://example.com/app">7</a>