如何从jquery.text()生成的字符串中修剪空间字符 - 并不简单

时间:2017-09-28 10:26:47

标签: jquery

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;
&#13;
&#13;

0 个答案:

没有答案