#javascript
#javascript
Вопрос:
// Я пытаюсь заменить href массивом ссылок
var link = ['replaceLink1', 'replaceLink2'];
var links = document.querySelectorAll('a');
for(var i = 0; i < link.length; i ){
for(var j = 0; j < links.length; j ){
links[j].setAttribute('href',link[i]);
}
}
Ответ №1:
вам не нужно выполнять циклы, просто удалите один и используйте итератор, чтобы выбросить оба массива
var link = ['replaceLink1', 'replaceLink2'];
var links = document.querySelectorAll('a');
for (var i = 0; i < link.length; i ) {
links[i].setAttribute('href', link[i]);
}
<a href="/link1" > click me ! </a>
<a href="/link2" >click me ! </a>
Комментарии:
1. Спасибо! Это потрясающе.
Ответ №2:
вы можете зациклить с for of
помощью цикла каждый тег привязки на странице и заменить href
атрибут соответствующей ссылкой из массива (который должен быть того же размера, что и все ссылки на странице, иначе вы получите неопределенный как ссылка), например:
var linksToReplace = ['replaceLink1', 'replaceLink2'];
var links = document.querySelectorAll('a');
for (let [i, link] of links.entries()) {
link.setAttribute('href', linksToReplace[i]);
}
<a href="/link1"> click me ! </a>
<a href="/link2">click me ! </a>