Я пытаюсь настроить функцию на своей странице, которая будет перебирать серию заголовков новостей и зачеркивать заголовок, если он содержит определенный маркер.
Заголовки извлекаются из базы данных постов WordPress и отображаются в <div>
с ID="news"
. Каждый конкретный заголовок представляет собой ссылку <a>
с class="title"
.
Сначала я собираю все заголовки в массив, чтобы перебирать их, но по какой-то причине он не работает должным образом.
Мой код:
<script type="text/javascript">
//first I create the array
var test_DOM = document.getElementById("news").getElementsByClassName("title");
//then I set the marker
var marker = "[X]"
//then I wirte the function to iterate through the array://
function checkX() {
for(i in test_DOM){
if (i.includes(marker)) {
i = "<del>", i, "</del>";
console.log(test_DOM[i], "changed")
}
console.log(test_DOM[i].innerHTML)
}
};
//and I call the function
checkX()
Ожидаемый результат - увидеть список новостей, которые нужно изменить с
[x] News 1
[EG] News 2
до
[x] News 1 <- struck through
[EG] News 2 <- still the same
Однако ничего не происходит. Я знаю, что getElementsByClassName возвращает мне массив объектов и что я должен использовать .innerHTML и некоторые другие точки, но используя его внутри функции, такой как
function checkX() {
for(i in test_DOM){
if (i.innerHTML.includes(marker)) {
i.innerHTML = "<del>", i, "</del>";
console.log(test_DOM[i], "changed")
}
console.log(test_DOM[i].innerHTML)
}
};
выдает ошибку «TypeError: i.innerHTML не определен»