Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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
ID为的JavaScript createElement_Javascript_Json_Createelement - Fatal编程技术网

ID为的JavaScript createElement

ID为的JavaScript createElement,javascript,json,createelement,Javascript,Json,Createelement,我正在创建一个包含3个元素的JavaScript数组: var employees = [ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ] 我想使用for循环遍历数据。下面是for循环: for (int i = 0; i <

我正在创建一个包含3个元素的JavaScript数组:

var employees =
    [
        {"firstName":"John", "lastName":"Doe"},
        {"firstName":"Anna", "lastName":"Smith"},
        {"firstName":"Peter", "lastName":"Jones"}
    ]
我想使用
for
循环遍历数据。下面是for循环:

for (int i = 0; i < employees.length; i++)
for(int i=0;i

我想为每个对象创建一个新的
,并将数据放在新的
中。我认为我需要为每个
分配一个id。我将如何实现这一点

迄今为止的完整代码:

<!DOCTYPE html>
<html>
    <body>
        <h2>JSON Java Syntax Examples</h2>
<!--        <p id="demo"></p>-->

        <script>
            var employees =
                [
                    {"firstName":"John", "lastName":"Doe"},
                    {"firstName":"Anna", "lastName":"Smith"},
                    {"firstName":"Peter", "lastName":"Jones"}
                ]

            for (int i = 0; i < employees.length; i++)
                {
                    document.createElement("p");
                    document.getElementById(i).innerHTML = employees[i].firstName + " " + employees[i].lastName;
                }
//            document.getElementById("demo").innerHTML = employees[0].firstName + " " + employees[0].lastName;
        </script>
    </body>
</html>

JSON Java语法示例
var员工=
[
{“firstName”:“John”,“lastName”:“Doe”},
{“姓氏”:“安娜”,“姓氏”:“史密斯”},
{“姓”:“彼得”,“姓”:“琼斯”}
]
对于(int i=0;i
尝试以下代码:

        for (int i = 0; i < employees.length; i++)
            {
                var pObj = document.createElement("p");
        var t = document.createTextNode(employees[i].firstName + " " + employees[i].lastName); 
                pObj.appendChild(t);
        document.body.appendChild(pObj); 
            }
for(int i=0;i
  • 用for循环定义中的
    var
    替换
    int
  • 将新元素分配给变量,例如
    new\u p
  • 使用
    textContent()
    函数为元素设置文本内容
  • 最后,使用
    appendChild()
    函数将新段落
    new\p
    附加到您的身体上
  • 希望这有帮助


    一小条
    var员工=
    [
    {“firstName”:“John”,“lastName”:“Doe”},
    {“姓氏”:“安娜”,“姓氏”:“史密斯”},
    {“姓”:“彼得”,“姓”:“琼斯”}
    ]
    对于(变量i=0;i}
    好的在阅读了这里的评论和答案并做了更多的研究之后,我找到了解决方案,它100%有效。我没有为任何新创建的元素分配ID。我使用
    innerHTML
    将数据添加到元素中,然后使用
    appendChild
    将标记添加到文档中

    以下是工作代码:

    <!DOCTYPE html>
        <html>
            <body>
                <h2>JSON Java Syntax Examples</h2>
    
                <script>
                    var employees =
                        [
                            {"firstName":"John", "lastName":"Doe"},
                            {"firstName":"Anna", "lastName":"Smith"},
                            {"firstName":"Peter", "lastName":"Jones"}
                        ]
    
                    for (var i = 0; i < employees.length; i++)
                        {
                            var p = document.createElement("p");
                            p.innerHTML = employees[i].firstName + " " + employees[i].lastName;
                            document.body.appendChild(p);
                        }
        //            document.getElementById("demo").innerHTML = employees[0].firstName + " " + employees[0].lastName;
                </script>
            </body>
        </html>
    
    
    JSON Java语法示例
    var员工=
    [
    {“firstName”:“John”,“lastName”:“Doe”},
    {“姓氏”:“安娜”,“姓氏”:“史密斯”},
    {“姓”:“彼得”,“姓”:“琼斯”}
    ]
    对于(变量i=0;i

    谢谢所有的回复

    这里有一个现代方法:

    首先,定义一个函数,根据元素数组创建DOM文档片段。可以一次构建一个DOM片段并将其插入DOM中。在一个简单的例子中,这不会有任何区别,但是如果有很多DOM操作进行,它会更快

    function createFragment(arr) {
      return arr.reduce(r, e) {
        r.appendChild(e);
        return r;
      }, document.createDocumentFragment());
    }
    
    编写函数将特定员工的数据转换为
    p
    元素:

    function makeElt(emp) {
      var text = document.createTextNode(emp.firstName + ' ' + emp.lastName);
      var p = document.createElement('p');
      p.appendChild(text);
      return p;
    }
    
    有了这些资料,我们只需写下:

    document.body .                 // To the document body,
      appendChild (                 // append
        createFragment (            // the fragment containing
          employees .               // all of the employees
            map (                   // transformed into
              makeElt               // a DOM element
    )));
    

    var_el;对于(inti=0;i内射HTML < /代码>?如果是文本,请使用
    textContent