我是编程新手,现在可以尝试自己的FizzBu​​zz挑战,具体如下:

“写一个程序,打印从1到100的数字。但是,对于三个数字的倍数,请打印“ Fizz”,而不是数字;对于五个数字的倍数,请打印“ FuzzBuzz”。对于三个和五个数字的倍数,请打印“ FizzBu​​zz” ”。

我正在用Javascript和jQuery进行操作,可以在控制台中打印它,但如何修改它以使其实际打印到页面本身上?就像使用HTML来帮助输出列表/数组之类的东西一样,以便您可以在控制台上查看页面上的内容(如果我有道理)?

现在,我通过执行以下操作使其在控制台中工作:

for (var i=1; i < 101; i++){
    if (i % 15 == 0) console.log("FizzBuzz");
    else if (i % 3 == 0) console.log("Fizz");
    else if (i % 5 == 0) console.log("Buzz");
    else console.log(i);
}


然后我将其更改为:

<p id="fizzbuzz"></p>

for (var i=1; i < 101; i++){
    if (i % 15 == 0) {
      $('#fizzbuzz').html("FizzBuzz");
    }
    else if (i % 3 == 0) {
      $('#fizzbuzz').html("Fizz");
    }
    else if (i % 5 == 0) {
      $('#fizzbuzz').html("Buzz");
    }
    else console.log(i);
}


但这显然只打印出一行,因为它替换了'fizzbuzz' ID中的文本,而不是创建循环输出列表。

有人可以帮我吗?抱歉,我是菜鸟,我正在尝试学习。

谢谢。

最佳答案

使用.append()代替.html()以便将指定的内容作为所选元素的最后一个子元素插入



for (var i=1; i < 101; i++){
    if (i % 15 == 0) {
      $('#fizzbuzz').append("FizzBuzz<br/>");
    }
    else if (i % 3 == 0) {
      $('#fizzbuzz').append("Fizz<br/>");
    }
    else if (i % 5 == 0) {
      $('#fizzbuzz').append("Buzz<br/>");
    }
    else console.log(i);
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id="fizzbuzz"></p>

09-28 09:01