Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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
Javascript 如何像在Jade中一样在JS/HTML中创建动态循环?_Javascript_Html_Node.js - Fatal编程技术网

Javascript 如何像在Jade中一样在JS/HTML中创建动态循环?

Javascript 如何像在Jade中一样在JS/HTML中创建动态循环?,javascript,html,node.js,Javascript,Html,Node.js,我用html编写了我所有的显示代码,并加入了真正特定的属性和内容,不幸的是,我所有的教程都只为Jade显示显示模板 我想用HTML和Javascript来做 我该怎么做呢 ul [1,2,3,4,5]中的每个val li=val您可以完全通过JavaScript来实现这一点 首先,简单地写一个 function call(n){ //Accessing the ul element var main = document.getElementById("main");

我用html编写了我所有的显示代码,并加入了真正特定的属性和内容,不幸的是,我所有的教程都只为Jade显示显示模板

我想用HTML和Javascript来做

我该怎么做呢

ul
[1,2,3,4,5]中的每个val

li=val
您可以完全通过JavaScript来实现这一点

首先,简单地写一个

function call(n){

    //Accessing the ul element
    var main = document.getElementById("main");

    for(var i=0;i<n;i++){
        var child = document.createElement("li");

        //if you want to add data to your li
        child.innerHTML = i+1;

        //appending the child to the main ul
        main.appendChild(child);
    }

}
函数调用(n){
//访问ul元素
var main=document.getElementById(“main”);

对于(var i=0;i,您可以这样动态创建元素

var thing=document.getElementById('thing');
var things=[1,2,3,4,5];
事物。forEach(函数(v){
thing.innerHTML+=“
  • ”+v+”
  • ”; });
    所以你想使用JS动态生成li元素?是的,非常好。如果我从集合中绘制10个项目,我想要10个li。如果我绘制5个,我想要5个,等等。
    child.innerHTML=I+1;
    以匹配原始的Jade示例。好的,这很有效,谢谢。我只需用我正在绘制的id切换我正在添加的数据的id来自MongoDB是对的?@ARMATAV ya应该可以工作,但只要确保您获取的id不是以数字开头的,因为这可能会在某些浏览器中导致问题,如果它确实这样做,则会在其中附加一些字符串,例如:id=“a”+123;啊,明白了。就像“user”+collection.get(_id)或其他什么。酷!@ARMATAV yup这就是我的意思
    var thing = document.getElementById('thing');
    var things = [1,2,3,4,5];
    
    things.forEach(function(v) {
        thing.innerHTML += "<li>" + v  +"</li>";
    });