jquery text()函数获取匹配元素集合中每个元素的组合文本内容,包括它们的后代。
jquery trim()函数从字符串的开头和结尾删除空格。
所以我应该可以使用
var str = $("#div1").text()
从html元素及其内容中获取文本,然后
var str = $("#div1").text().trim()
然而,text()函数在浏览器替换了编码字符后获取文本,而其他函数则使用char代码等效。
因此,在.text()上调用.trim()不会替换空格。有一些问题和答案可以讨论针对char代码160的regexp解决方案来解决这个问题。但是,令我感到困惑的是,该空间的字符代码是8288而不是160.发生了什么 - 请参阅片段文本区域2,显示8288作为该空间的字符代码?
var str = $( "#div1" ).text()
$( "#out" ).val( str );
$( "#out1" ).val( str.charCodeAt(0) );

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Below is the text sample</p>
<div id="div1"><p><span></span> The text sample</p></div>
<p>This textarea shows the result of .text() - note the first char is a blank</p>
<textarea id='out'></textarea>
<p>This textarea shows the char code of char 1 - was expecing 160!</p>
<textarea id='out1'></textarea>
&#13;