如何在javascript中的ul中附加一个数组?

2022-01-22 00:00:00 arrays append javascript html

我在将名为短语的数组附加到名为 addPhraseToDisplay() 的方法时遇到问题.这是数组:

I am having trouble appending an array called phrases to a method called addPhraseToDisplay(). Here is the array:

class Game {
constructor() {
    this.missed = 0; // this property will be used as a counter for the total of 5 tries
    this.phrases = ["life is strange","success does not come easy", "seven swans swimming", "guess the word", "wild goose chase"] 
}

我想要做的是将数组作为列表项附加到其中,我试图定位像这样的短语 newListItem.textContent = (this.phrases);,但这不起作用

what I want to do is append the array into as list items, I tried to target the phrases like this newListItem.textContent = (this.phrases);, but that didn't work

addPhraseToDisplay() {
   //Create a reference to ul element
    const myList = document.getElementById('myList');

    //Crete new list items
    let newListItem = document.createElement('li');
    newListItem.textContent = (this.phrases);

这是 html 代码,我希望将数组作为列表项放入其中

this is html code where I would like the array to be inside as list items

<!--My phrases need to be appended down here, div is parent element -->
        <div id="phrase" class="section">
            <ul id="myList">

            </ul>

如果有人可以帮助我将不胜感激

if someone could help I would appreciated

推荐答案

<html>
<body>

<ul id="myList">

</ul>

<p>Click the button to append the array to the end of the list.</p>

<button onclick="myFunction()">Try it</button>

<script>
var myPhrases = ["Phrase 1", "Phrase 2", "Phrase 3", "Phrase 4", "Phrase 5"]
function myFunction() {
    //Creating element with html tag .... and append it to another element
    for (i = 0; i < myPhrases.length; i++)
    {
      var node = document.createElement("li");
      var textnode = document.createTextNode(myPhrases[i]);
      node.appendChild(textnode);
      document.getElementById("myList").appendChild(node);
    }
}

</script>


</body>

前面的 for 循环示例.

Previous example with for loop.

相关文章