First Code!
x = 6;
document.getElementById("btn").addEventListener("click", function() {
var list = document.createElement("li");
var apple = document.getElementById("our-list");
list.appendChild(document.createTextNode("Something " + x++));
apple.appendChild(list);
});
<body>
<button id="btn">Click</button>
<ul id="our-list">
<li>Something 1</li>
<li>Something 2</li>
<li>Something 3</li>
<li>Something 4</li>
<li>Something 5</li>
</ul>
<script src="./javascript.js"></script>
</body>
Test Code! (Yes, I know it looks disgusting but its only for understanding and testing purpose.)
var x = 6;
document.getElementById("btn").addEventListener("click", function() {
document.getElementById("our-list").appendChild(document.createElement("li").appendChild(document.createTextNode("Something " + x++)));
});
<body>
<button id="btn">Click</button>
<ul id="our-list">
<li>Something 1</li>
<li>Something 2</li>
<li>Something 3</li>
<li>Something 4</li>
<li>Something 5</li>
</ul>
<script src="./javascript.js"></script>
</body>
Why is this not creating a list element? It seems like its entirely skipping the document.createElement("li") and appending a TextNode straight away!