Beispiel:JS-createElement-2.html
<!doctype html> <html lang="de"> <head>
<meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="./Beispiel:SELFHTML-Beispiel-Grundlayout.css"> <title>Website-Builder mit createElement()</title> <style> form { background-color: #eee; padding: 1em;
display: grid; grid-template-columns: 12em 18em; gap: 1em;
button { width: min-content; }
} div > h1, h2, h3 { background-color: #fffbf0; border-radius: 0 .5em .5em 0; padding: 0 2em; } div > h1 { border-bottom: medium solid red;
border-left: medium solid red;
} h2 { border-bottom: thin solid red;
border-left: medium solid red;
}
aside { border: thin solid; border-radius: 1em; padding: 2em 1em; color: navy; background: powderBlue; float:right; margin-left: 1em; }
</style>
</head>
<body>Primitiver Website-Builder mit createElement()
Erzeuge neue Elemente und hänge sie ins DOM.
<form name="Formular" action=""> <label for="elementType">Wähle ein HTML-Element:</label> <select id="elementType">
<option value="h1">Überschrift 1</option> <option value="h2">Überschrift 2</option> <option value="h3">Überschrift 3</option> <option value="p">Textabsatz</option>
<option value="button">Button</option> <option value="aside">aside</option>
<option value="hr">Trennlinie</option> </select> <label for="content">Elementinhalt hinzufügen</label>
<input type="text" id="content" size="50">
<button type="button" id="add">Hinzufügen</button> </form>
<script>
'use strict'; document.addEventListener('DOMContentLoaded', function () {
const form = document.querySelector('form'); const addButton = document.querySelector('#add'); const elementType = document.querySelector('#elementType'); const contentInput = document.querySelector('#content'); const resultContainer = '#result';
addButton.addEventListener('click', function () { const element = elementType.value; const content = contentInput.value.trim();
if (content === && element !== 'hr') { alert('Bitte einen Inhalt für das Element eingeben.'); return; }
createElement(resultContainer, element, content);
// Eingabefeld wieder leeren contentInput.value = ; }); // Helfer-Funktion, um HTML-Elemente zu erzeugen function createElement(parent, elem, content, attributes = {}) { const container = document.querySelector(parent); if (!container) { console.error(`Parent element "${parent}" not found.`); return; }
if (typeof elem !== 'string') { console.error(`Invalid element type: ${elem}`); return; }
const newElm = document.createElement(elem); newElm.textContent = content;
// Apply optional attributes for (let [key, value] of Object.entries(attributes)) { newElm.setAttribute(key, value); }
container.appendChild(newElm); }
}); </script> </body> </html>