2017-11-06 10 views
-1

JavaScriptコードが動作しない動作しない場合JavaScriptコードは、コードの最初の部分が第二部分の前に挿入したとき

var parag = document.getElementsByTagName("p"); 
for (var i = 0; i <= parag.length; i++) { 
parag[i].innerHTML = parag[i].innerHTML + parag[i].tagName.toLowerCase(); 
} 

挿入第二片の前にコードの最初の部分。

var ul = document.getElementById("ul"); 
var li = document.getElementById("li"); 
var newli = document.createElement("li"); 
newli.innerHTML = "newli"; 
ul.insertBefore(newli, li); 

コードの最初の部分の後にすべてのコードは機能しませんが、問題のあるコードの前に挿入すると機能します。

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 
    <p>10</p> 
    <p>10</p> 
    <ul id = "ul"> 
    <li id = "li">li</li> 
    </ul> 
    <script> 
    var parag = document.getElementsByTagName("p"); 
    for (var i = 0; i <= parag.length; i++) { 
    parag[i].innerHTML = parag[i].innerHTML + parag[i].tagName.toLowerCase(); 
    } 

    var ul = document.getElementById("ul"); 
    var li = document.getElementById("li"); 
    var newli = document.createElement("li"); 
    newli.innerHTML = "newli"; 
    ul.insertBefore(newli, li); 
    </script> 
</body> 
</html> 
+1

コンソールにエラーがありますか? –

答えて

0

こんにちはので、あなたが

for (var i = 0; i <= parag.length; i++) {//wrong usage 

for (var i = 0; i < parag.length; i++) {//correct usage 
0

このi < parag.lengthの代わりi <= parag.length

を試してみて、forループで <を使用する必要があり、あなたは、配列の長さのために <=を使用していて、あなたの配列のうち、歩くのため

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
</head> 
 
<body> 
 
    <p>10</p> 
 
    <p>10</p> 
 
    <ul id = "ul"> 
 
    <li id = "li">li</li> 
 
    </ul> 
 
    <script> 
 
    var parag = document.getElementsByTagName("p"); 
 
    for (var i = 0; i < parag.length; i++) { 
 
    parag[i].innerHTML = parag[i].innerHTML + parag[i].tagName.toLowerCase(); 
 
    } 
 

 
    var ul = document.getElementById("ul"); 
 
    var li = document.getElementById("li"); 
 
    var newli = document.createElement("li"); 
 
    newli.innerHTML = "newli"; 
 
    ul.insertBefore(newli, li); 
 
    </script> 
 
</body> 
 
</html>

関連する問題