是我网页中的<div>
和<textarea>
<div id="div_1" onclick="document.getElementById("textarea_1").innerHTML=document.getElementById("div_1").innerHTML;">
paragraph 1
paragraph 2
paragraph 3
paragraph 4
</div>
<textarea id="textarea_1"></textarea>
当我点击div时,我需要将<div>
innerHTML显示为<textarea>
但它来自下面
<textarea id="textarea_1">paragraph 1<br><br>paragraph 2<br><br>paragraph 3<br><br>paragraph 4</textarea>
我需要这样的输出(<div>
的正确格式)
<textarea id="textarea_1">
paragraph 1
paragraph 2
paragraph 3
paragraph 4
</textarea>
答案 0 :(得分:4)
您的onclick
格式不正确。您使用"
分隔它并使用"
作为内部字符串分隔符。
您还使用比较运算符==
而不是赋值运算符=
。
onclick="document.getElementById("textarea_1").innerHTML==document.getElementById("div_1").innerHTML;"
这会更好用:
onclick='document.getElementById("textarea_1").innerHTML=document.getElementById("div_1").innerHTML;'
现在,要解决实际问题 - 在需要换行时获取<br>
元素。
当你这样做时:
document.getElementById("div_1").innerHTML
您需要使用换行符替换<br>
元素:
document.getElementById("div_1").innerHTML.replace(/<br>/g, "\n")
答案 1 :(得分:1)
document.getElementById("textarea_1").innerHTML = document.getElementById("div_1").innerHTML.replace(/<br>/g, "\n");
这应该可以解决问题,你必须用真正的换行符替换<br>
标签。
答案 2 :(得分:1)
您可以在textarea
上使用value而不是innerHTML<!doctype html>
<html>
<head>
<title>Site Title</title>
</head>
<body>
<div id="div_1" onclick="document.getElementById("textarea_1").value = document.getElementById('div_1').innerHTML;">
paragraph 1
paragraph 2
paragraph 3
paragraph 4
</div>
<textarea id="textarea_1"></textarea>
</body>
`