Я хочу ввести html-код в текстовую область после того, как вы измените положение div1 и div2 нажатием кнопки. Любые изменения, которые я делаю в родительском элементе html div, также должны быть изменены в текстовой области. Я понятия не имею, как это сделать? Цель состоит в том, чтобы отправить измененный родитель div в базу данных.
<style>
#parent{
width: 50px;
height: 100px;
padding: 10px;
background-color: grey;
}
#div1{
width: 50px;
height: 50px;
background-color: red;
}
#div2{
width: 50px;
height: 50px;
background-color: blue;
}
</style>
<div id = "parent">
<div id = "div1"></div>
<div id = "div2"></div>
</div>
<button type = "button" onclick = "myFunctionSwitch()" >Chenge texareaHTML</button>
<form>
<textarea rows = "4" cols = "30" id = "showhtml">
<div id = "parent">
<div id = "div1"></div>
<div id = "div2"></div>
</div>
</textarea>
</form>
<script>
function myFunctionSwitch() {
document.getElementById("div1").remove();
document.getElementById("div2").remove();
var x = document.createElement('div');
x.id = 'div2';
document.getElementById("parent").appendChild(x);
var y = document.createElement('div');
y.id = 'div1';
document.getElementById("parent").appendChild(y);
document.getElementById("showhtml").innerHTML = x + y;
}
</script>






Если вы введете html в свой textarea, он будет экранирован и не будет проанализирован как элемент html.
Единственный способ сделать то, что вы хотите, это использовать атрибут contenteditable.
Посмотреть этот документация.
изменять
<div id = "parent">
<div id = "div1"></div>
<div id = "div2"></div>
</div>
к
<div id=container>
<div id = "parent">
<div id = "div1"></div>
<div id = "div2"></div>
</div>
а также
document.getElementById("showhtml").innerHTML = x + y;
к
document.getElementById("showhtml").innerHTML =
document.getElementById("container").innerHTML;
Вот рабочий код:
function myFunctionSwitch() {
document.getElementById("div1").remove();
document.getElementById("div2").remove();
var x = document.createElement('div');
x.id = 'div2';
document.getElementById("parent").appendChild(x);
var y = document.createElement('div');
y.id = 'div1';
document.getElementById("parent").appendChild(y);
document.getElementById("showhtml").innerHTML = document.getElementById("container").innerHTML;
}#parent{
width: 50px;
height: 100px;
padding: 10px;
background-color: grey;
}
#div1{
width: 50px;
height: 50px;
background-color: red;
}
#div2{
width: 50px;
height: 50px;
background-color: blue;
}<div id=container>
<div id = "parent">
<div id = "div1"></div>
<div id = "div2"></div>
</div>
</div>
<button type = "button" onclick = "myFunctionSwitch()" >Chenge texareaHTML</button>
<form>
<textarea rows = "4" cols = "30" id = "showhtml">
<div id = "parent">
<div id = "div1"></div>
<div id = "div2"></div>
</div>
</textarea>
</form>Алиреза Йездандуст благодарит за вашу помощь. Мне нужна еще одна деталь. Как получить HTML и СТИЛЬ в "showhtml" (текстовое поле)? Пример: <div id = "div1" style = "width: 150px;"> </ div> В настоящее время я получаю только HTML
не могли бы вы проголосовать за мой ответ, если он поможет? :)