forEach in Array (in) Array JavaScript - PullRequest
       8

forEach in Array (in) Array JavaScript

0 голосов
/ 09 апреля 2020

Я хочу искать слова в заголовках моих сообщений, и если он содержит пример Имена: max или Marry, он должен добавить фотографию из них.

    var imageLocation = document.querySelectorAll(".summary"); // where Image should be added
    var headLines = document.querySelectorAll(".ecs-thumbnail");// where my Names are.
    var img = document.createElement("IMG");

   headlines.forEach(function (pos){
      const txt = pos.innerText;
      var max = txt.includes("max");
      var marry = txt.includes("marry");

    if(marry === true){
    pos.parentNode.childNodes[1].prepend(img);
    img.setAttribute("src", "https://dev.musikzentrum-hannover.de/wp-content/uploads/marry.png");
      } else if(max === true){
      pos.parentNode.childNodes[1].prepend(imgAus);
    img.setAttribute("src", "https://dev.musikzentrum-hannover.de/wp-content/uploads/max.png");
      }
    })

это работает, но у меня есть много заголовков в класс и добавляет картинки только к последним элементам класса.

1 Ответ

1 голос
/ 09 апреля 2020

Есть несколько строк, которые выглядят неправильно. Тест if / else if для того же условия. Один и тот же элемент DOM изображения модифицируется и добавляется снова и снова. Имена переменных не совпадают, заголовки против заголовков. imageLocation никогда не используется. Это может работать:

var headLines = document.querySelectorAll(".ecs-thumbnail");// where my Names are.

headLines.forEach(function (pos){
    let src;
    if(pos.innerText.includes("marry")){
        src = "https://dev.musikzentrum-hannover.de/wp-content/uploads/marry.png";
    } else if(pos.innerText.includes("max")) {
        src = "https://dev.musikzentrum-hannover.de/wp-content/uploads/max.png";
    }

    if(src) {
        let img = document.createElement("IMG");
        img.setAttribute("src", src);
        pos.parentNode.childNodes[1].prepend(img);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...