Изменение нескольких идентификаторов на разных страницах одновременно

1

Я хочу написать код, поэтому я могу изменить текст в своем заголовке на разных страницах одновременно.

Я пробовал этот код JS:

var text = 'Dummy text';
var weergave = document.getElementById('headertext');
weergave.textContent = text;

Но это, похоже, не работает. Файл JS и HTML файл правильно связаны. Есть ли какие-либо вопросы о том, как это исправить?

  • 0
    Вы делали какие-либо отладки? Вы проверили консоль? Вы уверены, что document.getElementById('headertext') фактически возвращает элемент, который, по вашему мнению, является? И т.п.
  • 1
    поделитесь некоторыми усилиями, что вы сделали. все, что вы упомянули здесь, ведет в никуда.
Показать ещё 1 комментарий
Теги:

2 ответа

0

id element должен быть уникальным, поэтому вы не можете изменять textContent многих элементов с одним id. Вам нужно использовать имя класса. Вы можете использовать селектор запросов для получения определенных элементов, которые вам нужны.

var text = 'Dummy text';
var weergave = document.querySelectorAll('.header');//gets all elements with a class of header
//for loop to get all the elements from the query selector
for(let i = 0; i < weergave.length; i++){
    weergave[i].textContent = text;
}
//or forEach
weergave.forEach(i => {
   i.textContent = text;
});

<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<h1 class="header">Header</h1><br/>
<script>
var text = 'Dummy text';
    var weergave = document.querySelectorAll('.header');//gets all elements with a class of header
    //for loop to get all the elements from the query selector
    for(let i = 0; i < weergave.length; i++){
        weergave[i].textContent = text;
    }
</script>
  • 0
    Немного сложно для моего уровня опыта, но спасибо! Я дам ему попробовать!
0

Поскольку id всегда уникален, вы не можете использовать getElementById для получения всех tags с данным id. Пользовательский class instaed id и он будет работать с использованием getElementsByClassName

Вы можете использовать getElementsByClassName вместо getElementById.

И, используйте class="headertext" вместо id ="headertext", в вашем HTML

var text = 'Dummy text';
var weergave = document.getElementsByClassName("headertext");

for(var i=0;i<weergave.length;i++){
    weergave[i].textContent = text;
}
  • 0
    Даже не думал об этом. Спасибо за вашу помощь!
  • 0
    Он отображается на моей домашней странице, но не на других. Есть идеи, как это?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню