将文本插入到未确定数量的跨度中,For循环Javascript

时间:2015-05-15 16:02:07

标签: javascript html for-loop

我有这个范围:

<span class="spanComments" cols="100" rows="5"></span>

被这个召唤:

<a href="#" rel="@currentShowing.ShowingGUID" class="showComments noprint" id="comments-sendlink" onclick="showComments()">View Comments</a>

使用此功能:

    function showComments() {
    for (var arg = 0; arg < arg.length; ++arg) {
        var arr = arguments[arg];
        for (var i = 0; i < arr.length; ++ i) {
            document.getElementById("spanComments").innerHTML = "This is comment #" + arr[i];
        }
    }
}

我用这个问题作为我的基础无济于事: JavaScript For Loop

我没有填充任何东西(它完全是空的) 我已经测试了我的showComments()并且它有效(在我进入for循环之前)并且它有效。

我是JavaScript的新手,所以如果我真的很容易被忽略,我不会感到惊讶。提前谢谢。

1 个答案:

答案 0 :(得分:1)

这里遇到问题:你在定义之前迭代args,arguments应该是你在最顶层循环中迭代的东西。此外,您每次都覆盖相同的项目(我假设有多个spanComments)。我建议更改为class="spanComments"并使用以下内容:

function showComments() {
   var comments = document.querySelectorAll(".spanComments");
   for(var i = 0; i < comments.length; i++) {
      comments[i].innerHTML = "This is comment #" + i;
   }
}