[英]Is it possible to dynamically create divs using ONLY html, css and javascript?
我試圖在用戶按下按鈕時添加(並顯示)div,我也在使用css網格。 我在這里看過,所有解決方案都建議使用angular js或node js。
我最近(上周)學習了html,css和javascript,由於時間緊迫,所以我問是否可以在沒有angular js或node js的情況下創建這些div?
您可以使用createElement
創建HTML元素
這非常簡單:
function add() { // Create element; can be whatever you want, eg div, h1, p, img... var div = document.createElement('div'); // Set some attributes div.style.width = '200px'; div.style.height = '200px'; div.style.backgroundColor = 'red'; // Append the div to the body document.body.appendChild(div); }
<button onclick="add()">Add div</button>
有很多方法可以做到這一點。
顯而易見的是一個神秘命名的createElement
,通常與appendChild
和/或insertBefore
結合使用:
parent.appendChild(document.createElement("div"));
您可以通過向其innerHTML
分配包含HTML的字符串來替換父元素的內容:
parent.innerHTML = "<div></div>";
#2 替換父母的內容。 要添加到它,您可以再次使用insertAdjacentHTML
,同時使用包含HTML的字符串:
parent.insertAdjacentHTML("beforeend", "<div></div>");
在MDN的DOM部分中有很多發現。
是的,您可以使用document.createElement
嘗試這個:
<html>
<head>
<title>Hello World</title>
</head>
<body>
<script>
function CreateDiv(){
var myDiv = document.createElement("DIV"); // Create a <div> node
var myTextNode = document.createTextNode("Hello World"); // Create a text node
myDiv.appendChild(myTextNode); // Append the text
//document.getElementById("myList").appendChild(node); // Append
document.body.appendChild(myDiv);
}
</script>
<input type="button" onclick="CreateDiv();" value="Create div">
</body>
</html>
您可以使用本機的createElement()方法。
var btn = document.createElement("BUTTON"); // Create a <button> element
var t = document.createTextNode("CLICK ME"); // Create a text node
btn.appendChild(t); // Append the text to <button>
document.body.appendChild(btn); // Append <button> to <body>
https://www.w3schools.com/jsref/met_document_createelement.asp
<!DOCTYPE html> <html> <head> </head> <body> <div class="wrap"> <button class="btn" onclick="document.getElementById('text').innerHTML = 'Hello'"> Click On Me</button> <p id="text"></p> </div> </body> </html>
檢查這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.