我正在尝试在页面上打印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
  });


如果我将generate_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>。我也尝试将.text()更改为.html(),但随后它仅呈现元素。为什么.text()无法识别现有的\n

最佳答案

要使空白有意义,请在容器元素上尝试CSS white-space: pre-wrap

关于javascript - 为什么jQuery的.text()无法识别\n?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25015548/

10-11 20:31