【发布时间】:2014-07-29 12:39:32
【问题描述】:
我正在尝试在页面上打印 html 文本。 现在我在做
$("#generate_html_button").click(function(){
var generated_html_text = $("#visual_form").html();
$("#generated_html_text").text(generated_html_text);//generated_html_text is just a <div> element
});
如果我将 generated_html_text 打印到控制台,它会看起来像
<div class="dropDown form-group ui-draggable ui-draggable-handle col-xs-12" id="0" style="display: block;">
<div>
<label>dropdown</label>
</div>
<div class="form-group">
<select class="form-control">
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
</select>
</div>
</div>
控制台将使用正确的格式。当我使用.text() 将文本打印到我的页面时,它会忽略\n 并仅将其打印在一长行中。
<div class="dropDown form-group ui-draggable ui-draggable-handle col-xs-12" id="0" style="display: block;"> <div> <label>dropdown</label> </div> <div class="form-group"> <select class="form-control"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> </select> </div> </div>
大多数人建议使用 .replace(),但是当我尝试 generated_html_text = generated_html_text.replace(/\n/g, '<br/>'); 时,这将产生相同的结果,只是在没有格式化的情况下到处都是
,我试图避免在我的输出中出现 <br>s。我也尝试将.text() 更改为.html(),但它只是渲染元素。为什么 .text() 不能识别现有的\n?
【问题讨论】:
标签: javascript jquery html string formatting