jquery替换不起作用
jquery replace is not working
演示
嗨,我正试图删除JS中的箭头。但似乎替换不起作用:-(
<a class="pr-page-prev">« Previous</a>
<a class="pr-page-next">Next »</a>
$('.pr-page-prev').text().replace(/«/, '')
$('.pr-page-next').text().replace(/»/, '')
您要替换的是文本,而不是元素的内容。
当您说$('.pr-page-prev').text()
时,它会返回您调用replace的文本内容,replace将返回被替换的文本,但不会设置回元素。因此,即使您已经替换了文本,它也不会应用于元素。
$('.pr-page-prev').text(function(i, text){return text.replace(/«/, '')})
$('.pr-page-next').text(function(i, text){return text.replace(/»/, '')})
演示:Fiddle
这是因为您没有对replace:的结果执行任何操作
例如
$('.pr-page-prev').text($('.pr-page-prev').text().replace(/«/, ''));
或者使用函数代替值:
$('.pr-page-prev').text(function(){ return $(this).text().replace(/«/, ''));
http://jsfiddle.net/TrueBlueAussie/t1rru99a/6/
或者更好的是,将两者合并为一个操作(显示的Regex将与任一字符匹配):
$('.pr-page-prev,.pr-page-next').text(function () {
return $(this).text().replace(/[«»]/, '')
});
JSFiddle:http://jsfiddle.net/TrueBlueAussie/t1rru99a/9/
您可以将值"«"替换为"空格"。
$(".pr-page-prev").text(function(i, val) {
return val.replace(/«/g, " ");
});
$(".pr-page-next").text(function(i, val) {
return val.replace(/»/g, " ");
});
工作演示
结果是替换了字符串,但没有更改显示的内容。。。您需要做的是使用text()
方法来获取和设置数据,这里有一个示例:
$('.pr-page-prev').text($('.pr-page-prev').text().replace("«", ''))
问题是您试图访问/读取文本,但没有将其写回。要将其写回,您还需要替换文本。你可以通过JSFiddle来完成。
$('.pr-page-prev').text($('.pr-page-prev').text().replace("«", ''))
$('.pr-page-next').text($('.pr-page-next').text().replace("»", ''))
相关文章:
- 替换变量时,JavaScript字符串replace()不起作用
- getComputedStyle替换:currentStyle(IE8/7)不起作用
- 替换字符串的脚本;在某些网站上不起作用
- .clone().appendTo-替换不起作用的元素样式
- 为什么不'使用此JavaScript将文本替换为不起作用的链接
- jquery替换不起作用
- jQuery用点替换逗号不起作用
- .keyup() 上的非拉丁字符替换在快速键入时不起作用
- 替换 JavaScript 中出现的所有字符串不起作用
- 替换函数后的Javascript比较字符串不起作用
- 使用replace方法替换innerHTML以及在Javascript中不起作用的正则表达式
- 为什么javascript替换方法(没有regex)在angularjs表达式中不起作用来删除 
- :包含不区分大小写的解决方案在替换文本以突出显示时不起作用
- Javascript字符串替换不起作用
- I'我试图制作一个chrome查找和替换扩展,但它赢了;不起作用
- 如果我用fadeTogle替换fadeIn/fadeOut,为什么它不起作用
- 使用替换函数替换 XML 标记不起作用
- jQuery |字符串替换不起作用
- 字符串替换在javascript中不起作用(使用双引号)
- 全局替换不起作用,但简单的替换工作正常