Я хочу сопоставить все теги a
, которые имеют example.com/app
в href
. Как я могу сделать это с помощью JavaScript?
Как я могу найти все теги ‹a›, соответствующие определенному шаблону?
comment
поэтому создайте селектор, который соответствует атрибуту с помощью contains developer.mozilla.org / en-US / docs / Web / CSS / Attribute_selectors
- person epascarello   schedule 14.08.2020
comment
См. idownvotedbecau.se/noattempt.
- person FZs   schedule 14.08.2020
Ответы (2)
Вы можете использовать querySelectorAll
с селектором атрибутов css:
document.querySelectorAll('a[href="www.example.com"]')
person
Alberto Sinigaglia
schedule
14.08.2020
Это самый эффективный способ?
- person Shamoon; 14.08.2020
@Shamoon, я полагаю, что больше, чем родной способ, нет, но я не тестировал его против другого алгоритмического способа, но, безусловно, он более чистый и поддерживаемый
- person Alberto Sinigaglia; 14.08.2020
Вы можете выбрать все 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>
person
Someone Anonymous
schedule
14.08.2020