javascript - 如何将 <div> innerHTML 解码为 &lt;textarea&gt;

标签 javascript html

下面是<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>

最佳答案

你的 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")

关于javascript - 如何将 <div> innerHTML 解码为 &lt;textarea&gt;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104809/

相关文章:

html - Box-shadow 与其他元素重叠,我该如何解决?

html - 从图像创建HTML/CSS的最佳方法

javascript - 为什么我的 Javascript 价格计算器不起作用?

JavaScript 添加参数到 url

html - 清除继承的 :before css

javascript - 在路由到 Meteor 主页之前创建登录/注册页面?

javascript - jQuery 待办事项列表

javascript - IE11 未将 CSS 类应用于选择下拉列表的第一个选项元素

javascript - 如何使用 ng-value 通过 angularjs 发送隐藏字段值

javascript - Transclude函数需要适当修改clone