Javascript 使用jquery替换文本
我有以下资料:Javascript 使用jquery替换文本,javascript,jquery,Javascript,Jquery,我有以下资料: var newValue = $('.TwitterSpot').text().replace('#', 'Blah Blah'); $('.TwitterSpot').text(newValue); 我的假设是,它将获得所有带有“#”的字符或文本片段,并将其替换为诸如此类的废话 它不工作了?我错过了什么 我想要的最终结果是获得#标签,并将其替换为指向twitter.com/#的链接/搜索/%23标记 .replace采用正则表达式。要替换所有内容,必须使用全局(“g”)标志
var newValue = $('.TwitterSpot').text().replace('#', 'Blah Blah');
$('.TwitterSpot').text(newValue);
我的假设是,它将获得所有带有“#”的字符或文本片段,并将其替换为诸如此类的废话
它不工作了?我错过了什么
我想要的最终结果是获得
#标签
,并将其替换为指向twitter.com/#的链接/搜索/%23标记
.replace
采用正则表达式。要替换所有内容,必须使用全局(“g”)标志
.replace(/#/g,'Blah Blah')
.replace
采用正则表达式。要替换所有内容,必须使用全局(“g”)标志
.replace(/#/g,'Blah Blah')
我建议这样做
$('.TwitterSpot').text(function(_, text) {
return text.replace(/#/g, 'Blah Blah');
});
.text()
与许多其他getter/setter
jQuery函数一样,提供了一个回调函数,该函数以当前值传递。通过返回新值,可以更新该字符串
您的错误是没有为
.replace()
函数使用正则表达式。通过这样做,您可以设置全局标志g
,确保每个事件都匹配。我建议这样做
$('.TwitterSpot').text(function(_, text) {
return text.replace(/#/g, 'Blah Blah');
});
.text()
与许多其他getter/setter
jQuery函数一样,提供了一个回调函数,该函数以当前值传递。通过返回新值,可以更新该字符串
您的错误是没有为
.replace()
函数使用正则表达式。通过这样做,您可以设置全局标志g
,以确保每个事件都匹配。什么类型的元素具有.TwitterSpot
类?--对我来说很好。你想在服务器端还是客户端执行此操作?什么类型的元素具有.TwitterSpot
类?--对我来说很好。你想做这个服务器端还是客户端?。替换也需要字符串。请参阅MDN:这还需要获取标记的文本值,以便将其添加到URL。TwitterSpot div?@pete中的其他元素是否有方法不丢失格式。该类型可能是字符串,但它被理解为正则表达式。替换也接受字符串。请参阅MDN:这还需要获取标记的文本值,以便将其添加到URL中。TwitterSpot div?@pete中的其他元素是否有不丢失格式的方法?类型可能是字符串,但它被理解为一个常规表达式。这还需要获取标记的文本值,以便将其添加到url。有没有办法不丢失.TwitterSpot div中其他元素的格式?Anicho:该div包含更多元素?嗯,那就有点棘手了。我们需要从元素中获取.contents()
,并找到要修改的TextNode
。没问题,你让我朝着正确的方向走了/#/g工作得很好。我将直接在.TwitterSpot中定位元素。这还需要获取标记的文本值,以便将其添加到url中。有没有办法不丢失.TwitterSpot div中其他元素的格式?@Anicho:该div包含更多元素?嗯,那就有点棘手了。我们需要从元素中获取.contents()
,并找到要修改的TextNode
。没问题,你让我朝着正确的方向走了/#/g工作得很好。我将直接以.TwitterSpot中的元素为目标。