我试图让我的fizzbuzzz解决方案在“点击”上运行并在容器中显示代码标签之间,但是当我在div内单击时什么都没打印出来,我不知道为什么。

对于我的功能,我有:

function fizzbuzz(){
    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);
            }
        }
    }


对于我的index.html视图,我有以下内容:

  <div id="results" class="container text-center">
    <p>Click to view the results of the function we just wrote: </p>
    <code></code>
  </div>


对于我的jQuery脚本,我有:

$("#results").click(function() {
  fizzbuzz();
});


我究竟做错了什么?我将不胜感激任何反馈:)

最佳答案

嗯,<code>标记没有特殊含义,您所做的任何事情都不会在其中放置代码。您可能正在寻找的东西更接近于此:

<div id="results" class="container text-center">
    <p>Click to view the results of the function we just wrote: </p>
    <span id="fizzbuzz"></span>
</div>


具有以下功能:

$(document).ready(function() {
function fizzbuzz(){
    elt = $('#fizzbuzz'); // find the element
    elt.empty(); // clear out anything that's there already
    for (var i = 1; i < 101; i++){
        if ((i % 15) === 0) {
            elt.append('FizzBuzz'); // append text
            } else if ((i % 3) === 0){
            elt.append('Fizz');
            } else if ((i % 5) === 0){
            elt.append('Buzz');
            } else {
            elt.append(i);
            }
        elt.append(" "); // add a space
        }
    }

$("#results").click(function() { // use .click(... or .on('click'..., not .onClick
  fizzbuzz();
});
});

关于javascript - jQuery事件处理程序在单击时不会激活,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19718416/

10-12 06:37