I am trying to create a code editor, and I have gotten this far.
<p>Quick Tips: This is entirely HTML, so when working with javascript use <script> tags.<p>
<button onclick="runcode()">Run Code</button>
<br>
<textarea id="textarea" class:".lined" rows:"5" style="resize: none;" autofocus></textarea>
<script>
window.onerror = function(error) {
// do something clever here
alert("ERROR");
};
function renderLineNumbers(element, settings) {
element = $(element);
var linesDiv = element.parent().find('.numberedtextarea-line-numbers');
var count = element.val().split("\n").length;
var paddingBottom = parseFloat(element.css('padding-bottom'));
var j = 0;
linesDiv.find('.numberedtextarea-number').remove();
for (i = 1; i <= count; i++) {
if (settings.labels && j == settings.labels.length) {
j = 0;
}
var lineLabel = settings.labels ? settings.labels[j] : i;
var line = $('<div class="numberedtextarea-number numberedtextarea-number-' + i + '">' + lineLabel + '</div>').appendTo(linesDiv);
j++;
if (i === count) {
line.css('margin-bottom', paddingBottom + 'px');
}
}
}
var asdf = document.getElementById('textarea');
function runcode() {
console.log(document.createElement(asdf.value))
}
</script>
<style>
textarea{
height: 300px;
width: 300px;
}
</style>
My text input: <p>asdf</p> returns the error:

Is there any way I can fix this? like another way to create an element using raw code?
.createElementexpects a tag name, not a HTML string, as an argument.Element.insertAdjacentHTML: developer.mozilla.org/en-US/docs/Web/API/Element/…