【问题标题】:Adding html code instead of plain text to ul with appendchild or other method?使用 appendchild 或其他方法向 ul 添加 html 代码而不是纯文本?
【发布时间】:2016-07-31 13:08:03
【问题描述】:

document.getElementById('addplace').addEventListener('click', function() {
    addplace();
  });

function addplace () {
  var node = document.createElement("li");                 // Create a <li> node
  var textnode = document.createTextNode("<b>Waypoint</b>");         // Create a text node
  node.appendChild(textnode);                              // Append the text to <li>
  document.getElementById("waypoints").appendChild(node);
}  
<input type="submit" id="addplace" value="Add One!">  
<ul id="waypoints">
</ul>

我需要这个来使 html 代码在每个新的 li 中工作。我也尝试了 innerHTML 并且只能添加纯文本。如何使“Waypoint”变为粗体而不是显示由 b 标签包围的文本“Waypoint”?

它专门用于添加一个新的 Google Places 自动完成字段和一个“x”的图像来删除 li,所以我正在寻找一个可以传递值/对我在 @ 中提到的应用程序的其余部分友好的 JavaScript 的解决方案987654321@.

谢谢

【问题讨论】:

    标签: javascript html html-lists innerhtml appendchild


    【解决方案1】:

    不创建文本节点,而是为&lt;b&gt; 标签创建一个节点并设置其文本内容。

    function addplace () {
      var node = document.createElement("li");                 // Create a <li> node
      var textNode = document.createElement("b"); //create a <b> tag
      textNode.textContent = "Waypoint"; //set <b> tag's text
      node.appendChild(textnode);  //Append the <b> tag                            
      document.getElementById("waypoints").appendChild(node);
    }  
    

    DEMO

    如果您想在 li 内设置不同的 html elmenets 而不是 &lt;b&gt; 元素,那么您可以使用以下内容,

    function addplace() {
      var node = document.createElement("li"); // Create a <li> node
      node.innerHTML = "<b>waypoints</b>"               
      document.getElementById("waypoints").appendChild(node);
    }
    

    DEMO

    【讨论】:

    • 谢谢我需要它来为 html 工作,而不仅仅是 b 标签。虽然我会玩这个,看看它是否适用于输入标签以及输入+img。
    • 谢谢拉贾帕布。我可以在没有任何属性的情况下添加 ,但是当我尝试 例如时,按钮将停止创建新的 li 元素。知道为什么会发生这种情况或如何解决它吗?如果这是一个更好的方法,我可以发布一个新问题。
    • @javaandy 您可以为此创建一个新问题,因为它超出了当前问题的范围。如果你愿意,可以把这个问题的链接分享给我。
    • @javaandy 我回答了这个问题。这对你有帮助吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 2016-11-22
    • 2010-09-25
    • 1970-01-01
    相关资源
    最近更新 更多