Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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脚本没有运行?_Javascript_Html_Scripting - Fatal编程技术网

JavaScript脚本没有运行?

JavaScript脚本没有运行?,javascript,html,scripting,Javascript,Html,Scripting,这段代码的思想是显示一个无序的HTML元素列表,但由于某些原因,它似乎不起作用 我使用升华文本来编写脚本和HTML代码。我曾尝试通过Chrome开发者控制台执行该脚本,但也没有成功 // 1) Crear una lista desordenada con 10 elementos dentro usando un bucle for. // Tener en cuenta que solo se le puede hacer un único appendChild al ul crea

这段代码的思想是显示一个无序的HTML元素列表,但由于某些原因,它似乎不起作用

我使用升华文本来编写脚本和HTML代码。我曾尝试通过Chrome开发者控制台执行该脚本,但也没有成功

// 1) Crear una lista desordenada con 10 elementos dentro usando un bucle for.
//    Tener en cuenta que solo se le puede hacer un único appendChild al ul creado, 
//    asi minimizamos el tiempo de modificaciones en el DOM.

var list = document.createElement('ul');
var elements = document.createDocumentFragment();

for (var i = 0; i < 10; i++) {
  let element = document.createElement('li');
  element.innerText = "Elemento " + i;
  elements.appendChild(element);
}

list.appendChild(elements);
document.body.appendChild(list);
//1)这是一个非常好的例子,它包含了10个元素。
//这是一个独立的城市,它是一个独立的城市,
//asi最大限度地减少了DOM中的修改。
var list=document.createElement('ul');
var elements=document.createDocumentFragment();
对于(变量i=0;i<10;i++){
let element=document.createElement('li');
element.innerText=“Elemento”+i;
元素。追加子元素(元素);
}
列表。追加子元素(元素);
文件.正文.附件(列表);

确保脚本标记位于正确的位置

JavaScript在
中,您可以在HTML文档中放置任意数量的脚本。脚本可以放在HTML页面的
部分,也可以同时放在这两个部分


你的页面
//javascript就在这里
你的身体在这里。
var list=document.createElement('ul');
var elements=document.createDocumentFragment();
对于(变量i=0;i<10;i++){
let element=document.createElement('li');
element.innerText=“Elemento”+i;
元素。追加子元素(元素);
}
列表。追加子元素(元素);

文件.正文.附件(列表)当您在加载DOM后通过函数执行相同操作时,它会起作用。它在控制台中给出了此错误(在Chrome中为F12)-

未捕获类型错误:无法读取null的属性“appendChild”

这可能是因为在脚本的初始执行期间DOM不可用,因此节点不可用于“appendChild”函数调用

检查一下,我正在通过一个功能调用相同的代码,该功能按预期工作-

<html>
<script> 
    //var list = document.getElementById('test');
    //var elements = document.createDocumentFragment();
    console.log(list);
    for (var i = 0 ; i < 10 ; i++){
       /* let element = document.createElement('li');

        element.innerText = "Elemento " + i;
        console.log(i);*/

        var node = document.createElement("LI");                 // Create a <li> node
        var textnode = document.createTextNode("Water");         // Create a text node
        node.appendChild(textnode);                              // Append the text to <li>
        document.getElementById('myList').appendChild(node);
    }

    //list.appendChild(elements);

    //document.appendChild(list);
     function myFunction() {
            var node = document.createElement("LI");
            var textnode = document.createTextNode("Water");
            node.appendChild(textnode);
            document.getElementById("myList").appendChild(node);
        }

</script>
<body>
    <button onclick="myFunction()">Try it</button>
    <ul id="myList">
      <li>Coffee</li>
      <li>Tea</li>
  </ul>
</body>
</html>

//var list=document.getElementById('test');
//var elements=document.createDocumentFragment();
控制台日志(列表);
对于(变量i=0;i<10;i++){
/*let element=document.createElement('li');
element.innerText=“Elemento”+i;
控制台日志(i)*/
var node=document.createElement(“LI”);//创建一个
  • 节点 var textnode=document.createTextNode(“水”);//创建一个文本节点 node.appendChild(textnode);//将文本追加到
  • document.getElementById('myList').appendChild(节点); } //列表。追加子元素(元素); //文件.附件(清单); 函数myFunction(){ var节点=document.createElement(“LI”); var textnode=document.createTextNode(“水”); node.appendChild(textnode); document.getElementById(“myList”).appendChild(节点); } 试试看
    • 咖啡

  • 希望这有帮助

    控制台中有错误吗?你写的东西没有问题,应该可以正常工作。我们无法告诉你为什么它不适合你。我们需要更多的代码。也许可以提供您的HTML,以便我们查看脚本标记是否位于正确的位置。
    text/javascript
    是默认值,您不必指定它。我创建了一个变量:“var body=document.querySelector(“body”);”然后我将“document.body.appendChild(list);”替换为“body.appendChild(list);”使其在google chrome中工作。我猜我的问题出在“document.body.appendChild(list);”上?
    <html>
    <script> 
        //var list = document.getElementById('test');
        //var elements = document.createDocumentFragment();
        console.log(list);
        for (var i = 0 ; i < 10 ; i++){
           /* let element = document.createElement('li');
    
            element.innerText = "Elemento " + i;
            console.log(i);*/
    
            var node = document.createElement("LI");                 // Create a <li> node
            var textnode = document.createTextNode("Water");         // Create a text node
            node.appendChild(textnode);                              // Append the text to <li>
            document.getElementById('myList').appendChild(node);
        }
    
        //list.appendChild(elements);
    
        //document.appendChild(list);
         function myFunction() {
                var node = document.createElement("LI");
                var textnode = document.createTextNode("Water");
                node.appendChild(textnode);
                document.getElementById("myList").appendChild(node);
            }
    
    </script>
    <body>
        <button onclick="myFunction()">Try it</button>
        <ul id="myList">
          <li>Coffee</li>
          <li>Tea</li>
      </ul>
    </body>
    </html>