首页 > 解决方案 > JavaScript 在 for 循环中附加 HTML

问题描述

在下面的代码片段中,我有一个 for 循环,并希望在每个迭代中附加 HTML 代码以使用我的 ul-Tag 中的列表。如果我用 = 运算符替换 += 它可以工作,但显然只适用于最后一个元素。如何在循环中正确附加它?

    var text = "the Text"
    var list
    for (var i = 1; i < split_respone.length; i+=2) {
      list += <li className="link-list-item">
            <a
            href={split_respone[i]}
            target="_blank"
            rel="noopener noreferrer"
            className="link-list-item-url">
            {split_respone[i+1]}</a>
            </li>
    }
    string = <ul className="link-list">{text}{list}</ul>;
  } 
  const message = self.createChatBotMessage(string);
});
}

标签: javascripthtmlfor-loopappend

解决方案


您必须将“列表”设置为空字符串才能使其工作。此外,由于您正在组合字符串,因此您需要用引号将 HTML 括起来。(你也可以使用``)

    var text = "the Text"
    var list = "";
    for (var i = 1; i < split_respone.length; i+=2) {
      list += '<li className="link-list-item">
            <a
            href={split_respone[i]}
            target="_blank"
            rel="noopener noreferrer"
            className="link-list-item-url">
            {split_respone[i+1]}</a>
            </li>'
    }
    string = <ul className="link-list">{text}{list}</ul>;
  } 
  const message = self.createChatBotMessage(string);
});

推荐阅读