Javascript String.prototype.replace-won';t更换a&;时代特征
我用jQuery获取的HTML部分是:Javascript String.prototype.replace-won';t更换a&;时代特征,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,我用jQuery获取的HTML部分是: <div class="chip"> #<c:out value="${pred.id } "></c:out><span class="closebtn">×</span> </div> 因此,它确实获取了正确的元素。到现在为止,一直都还不错。上面的函数返回类“chip”的每个元素的内部文本 但它
<div class="chip">
#<c:out value="${pred.id } "></c:out><span class="closebtn">×</span>
</div>
因此,它确实获取了正确的元素。到现在为止,一直都还不错。上面的函数返回类“chip”的每个元素的内部文本
但它并没有替换上面html片段中的“times”字符。我试过:
output=output.replace(/U00D7/gi,“”)代码>
我试着:
output=output.replace(/×/gi,”)代码>
甚至绝望和尝试:
output=output.replace(/x/gi,”)代码>
以及:
output=output.replace(/X/gi,”)代码>
仍然可以从函数中获取包含×符号的输出。我希望字符串中的×符号替换为空格,甚至更好,根本没有任何字符->“”。要通过unicode引用匹配字符实体,您的正则表达式需要是\u00D7
,而不是u00D7
还请注意,使用map()
可以使逻辑更加简洁。试试这个:
函数getChips(){
返回$('.chip').map(函数(){
返回$(this.text().trim();
}).get().join(“”)。替换(/\u00D7/gi,“”);
}
log(getChips())代码>
&时代;
洛勒姆
&时代;
乱数假文
&时代;
多洛
谢谢你,伙计!你的老板!:)没问题,很乐意帮忙。注意,我刚刚更新了答案;在循环内部调用replace()。
function getChips() {
var output = "";
$('.chip').each(function() {
output += $(this).text().trim();
});
output = output.replace(/U00D7/gi," ");
return output;
}