Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在InnerHTML页面加载时更新的简单JavaScript循环_Javascript_Jquery_Loops_For Loop_Innerhtml - Fatal编程技术网

在InnerHTML页面加载时更新的简单JavaScript循环

在InnerHTML页面加载时更新的简单JavaScript循环,javascript,jquery,loops,for-loop,innerhtml,Javascript,Jquery,Loops,For Loop,Innerhtml,当页面加载时,我想生成一个JavaScript循环。项目总数取决于页面上已有的PHP字符串 <script type="text/javascript"> function Generation(){ var loopTotal = <?=$TotalNumberOfRows?>; var innerToUpdate=$("#loopItemSet"); var page=0; for (var i=0;i<=<?=$Tot

当页面加载时,我想生成一个JavaScript循环。项目总数取决于页面上已有的PHP字符串

<script type="text/javascript">

function Generation(){
    var loopTotal = <?=$TotalNumberOfRows?>;
    var innerToUpdate=$("#loopItemSet");

    var page=0;
    for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
    {
        page++;
        // document.write(i);
        innerToUpdate.innerHTML="<a href='link.php?go="+i+"'> page number "+page+"</a>";
    }       
}

$(document).ready(function(){
    Generation();   
});

</script>

函数生成(){
var loopTotal=;
var innerToUpdate=$(“#loopItemSet”);
var-page=0;

对于(var i=0;i您希望使用jQuery的append

与此相反:

    innerToUpdate.innerHTML="<a href="link.php?go="+i+""> page number "+page+"</a>";
innerToUpdate.innerHTML=“”;
试试这个:

    innerToUpdate.append('<a href="link.php?go='+i+'"> page number '+page+'</a>');
innerToUpdate.append(“”);

检查该行中的引号,我编辑了一些嵌套不好的双引号。

此行在每次迭代中覆盖元素的
innerHTML
。您可以简单地添加一个
+
,如下所示:

innerToUpdate.innerHTML += "<a href='link.php?go="+i+"'> page number "+page+"</a>";
innerToUpdate.innerHTML+=”;
或者先收集字符串中的所有条目,然后只更新该元素的HTML内容一次:

    function Generation(){
        var loopTotal = <?=$TotalNumberOfRows?>;
        var innerToUpdate=$("#loopItemSet");
        // var innerToUpdate=$(".loopItemSet"); // for multiple elements.

        var page=0, content = '';
        for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
        {
            page++;
            // document.write(i);
            content += "<a href='link.php?go="+i+"'> page number "+page+"</a>";
        }
        innerToUpdate.html( content );
    }
函数生成(){
var loopTotal=;
var innerToUpdate=$(“#loopItemSet”);
//var innerToUpdate=$(“.loopItemSet”);//用于多个元素。
变量页=0,内容=“”;

对于(var i=0;i问题不清楚,但我假设您只得到一个链接,而不是3个链接,并想知道原因。如下所示:

    for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
    {
        page++;
        // document.write(i);
        innerToUpdate.innerHTML="<a href='link.php?go="+i+"'> page number "+page+"</a>";
    }       
for(变量i=0;i;i+=24)
{
page++;
//文件.编写(i);
innerToUpdate.innerHTML+=“”;
} 

您当前的代码每次都会重置html,而不是连接到html。

您忘了告诉我们,
$TotalNumberOfRows
的值是多少。@Jasper,据我所知,这是一个动态创建的数字。@FrankB,是的,但他没有告诉我们问题是什么,而是在嘀咕一些数字,这在我看来毫无意义f并非所有数字都知道n24分为52三次?不,24*3=72。@实际上,贾斯珀虽然我同意这个问题不清楚,但知道这个值与问题的核心无关。如果我有比
更多的内容,我该如何做才能将其插入页面上的所有内容?@TheBlackBenzKid
id
意味着唯一,所以你不应该这样做该id的多个元素。使用,例如,
class
。然后只需选择所有这些元素,并为每个元素调用
html()
  for (var i=0;i<=<?=$TotalNumberOfRows?>;i+=24)
        {
            page++;
            // document.write(i);
            innerToUpdate.innerHTML+="<a href='link.php?go="+i+"'> page number "+page+"</a>";
        }