Javascript 用jQuery查找并替换HTML字符串
来自数据库的链接是网站标题,并呈现在页面上:“作者”-但偶尔链接是一个问题:“谷歌地图”。Javascript 用jQuery查找并替换HTML字符串,javascript,jquery,replace,Javascript,Jquery,Replace,来自数据库的链接是网站标题,并呈现在页面上:“作者”-但偶尔链接是一个问题:“谷歌地图”。?:看起来很傻,所以我想用?替换HTML?: 以下是我编写的jQuery: $('#relatedinfo ul li a').html()。替换('?:','?') 但这实际上并不能在DOM中取代它。如何让该字符串实际更改页面?我建议: $('#relatedinfo ul li a').html(function(index,html){ return html.replace(/<\/s
?:
看起来很傻,所以我想用?
替换HTML?:
以下是我编写的jQuery:
$('#relatedinfo ul li a').html()。替换('?:','?')代码>
但这实际上并不能在DOM中取代它。如何让该字符串实际更改页面?我建议:
$('#relatedinfo ul li a').html(function(index,html){
return html.replace(/<\/span>(\:)/,'');
});
更新的方法是检查span
中的最后一个字符是否在['?'、'!'、'.'.]
的数组中,如果是,则从下一个sibling的nodeValue中删除:
:
$('#relatedinfo ul li a span').text(function(index,text){
var lastchar = text.split('').pop();
if (['?','!','.'].indexOf(lastchar) > -1) {
this.nextSibling.nodeValue = this.nextSibling.nodeValue.replace(':','');
}
});
参考资料:
您也可以使用正则表达式:
var rx = new RegExp('(?![^<&]+[>;])' + searchString, 'gi');
$('#relatedinfo').html(function (i, html) {
return html.replace(rx, '<b>$&</b>')
});
var rx=new RegExp('(?![^;])'+searchString,'gi');
$('#relatedinfo').html(函数(i,html){
返回html.replace(rx,$&)
});
资料来源:多谢你的回答,并为你花了这么长时间才回复而道歉。答案是正确的,但我的问题框架不正确,因此解决方案不太适合我的问题。我已经,并且,使用你提供的信息,计算出了它的大部分。。。。只是无法理解if语句中或操作数的语法。我最终用!=空:)
var rx = new RegExp('(?![^<&]+[>;])' + searchString, 'gi');
$('#relatedinfo').html(function (i, html) {
return html.replace(rx, '<b>$&</b>')
});