考虑以下HTML页面片段:
<div id='myDiv'>
Line 1.<br />
Line 2<br />
These are <special> characters & must be escaped !@@><>
</div>
<input type='button' value='click' id='myButton' />
<textarea id='myTextArea'></textarea>
<script>
$(document).ready(function () {
$('#myButton').click(function () {
var text = $('#myDiv').text();
$('#myTextArea').val(text);
});
});
</script>
首先,有一个id为myDiv
的div元素。它包含一些类似于我的生产网站中运行时可能从SQL数据库中检索到的文本。
接下来,有一个按钮和一个textarea。我希望单击按钮时myDiv
中的文本出现在textarea中。
但是,使用我提供的代码,会删除换行符。考虑到逃避特殊字符是绝对不可协商的,我该怎么办呢?
答案 0 :(得分:0)
您的代码在Firefox和Chrome中都非常适合我:http://jsfiddle.net/jYjRc/
但是,如果您的客户端无法执行您想要的操作,请将<br>
替换为换行符。
编辑:在IE7中测试并且代码中断。所以我用我的建议更新了小提琴:http://jsfiddle.net/jYjRc/1/
答案 1 :(得分:0)
你的HTML是这样的:
<div id='myDiv'><pre>
Line 1.
Line 2
These are <special> characters & must be escaped !@@><>
</pre></div>
现在.text()
将完全按照您在<pre>
标记中指定的方式返回文字,即使在IE中也是如此。