字符串s
包括空格,制表符,CR和LF。 alert()
可以正确呈现格式,
但是$("#mydiv").text(s)
丢失了CR和LF,我希望$("#mydiv").text(s)
可以正确呈现格式,我该怎么办呢?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script src="Js/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#Button1").bind("click", function () {
alert(s);
$("#mydiv").text(s);
});
});
</script>
</head>
<body>
<p>
<input id="Button1" type="button" value="button" /></p>
<div id="mydiv">
</div>
</body>
</html>
答案 0 :(得分:3)
您可以为此#mydiv
提供一些CSS样式:
#mydiv { white-space: pre; }
问题是,jQuery .text()
方法只是设置HTML文本,HTML元素将所有连续的空格字符连接到一个空格,并且如果它们是块元素,也会剥离第一个和最后一个( <pre>
是一个值得注意的例外)。这个CSS声明告诉div在这种情况下表现得像<pre>
。
答案 1 :(得分:-1)
尝试使用.html(s)代替.text(s)