使用 javascript 将单词替换为另一个单词?
Replace word with another one using javascript?
我正在使用 Google 地图来获取两个位置之间的距离和时间。
这很好用...
但是,我想用我自己的 texts/words.[=14 替换一些 texts/words 从 google 地图 api 我的页面上吐出来的东西=]
例如:我想将 about
替换为 ETA:
这是我的 javascript 代码来替换单词:
<script>
function myFunction() {
var str = document.getElementsByClassName("adp-summary").innerHTML;
var res = str.replace("about", "ETA: ");
document.getElementsByClassName("adp-summary").innerHTML = res;
}
</script>
但不幸的是,这没有任何作用,也没有用 ETA:.
替换 about 这个词
这是我的全部代码:
http://jsfiddle.net/dvw37ktu/1/
有人可以就此问题提出建议吗?
提前致谢。
如果只使用原生js,replace只会替换字符串的第一个实例。
您可以在索引检查时循环:
while(str.indexOf("about") > -1)
{
//do replace here
}
或者更好的选择是使用正则表达式。
在此处查看更多信息:
Why does javascript replace only first instance when using replace?
如评论中所述,document.getElementsByClassName
返回与您的选择器匹配的 HTMLCollection,这就是您无法设置 .innerHTML
的原因。这可以通过处理集合来解决,比如说,通过遍历它:
var adpSummary = document.getElementsByClassName("adp-summary");
for (var i = 0; i < adpSummary.length; i++) {
// Do string replacement on adpSummary[i]
adpSummary[i].innerHTML = adpSummary[i].innerHTML.replace(new RegExp('about', 'gm'), 'ETA: ')
}
我正在使用 Google 地图来获取两个位置之间的距离和时间。
这很好用...
但是,我想用我自己的 texts/words.[=14 替换一些 texts/words 从 google 地图 api 我的页面上吐出来的东西=]
例如:我想将 about
替换为 ETA:
这是我的 javascript 代码来替换单词:
<script>
function myFunction() {
var str = document.getElementsByClassName("adp-summary").innerHTML;
var res = str.replace("about", "ETA: ");
document.getElementsByClassName("adp-summary").innerHTML = res;
}
</script>
但不幸的是,这没有任何作用,也没有用 ETA:.
替换 about 这个词这是我的全部代码:
http://jsfiddle.net/dvw37ktu/1/
有人可以就此问题提出建议吗?
提前致谢。
如果只使用原生js,replace只会替换字符串的第一个实例。
您可以在索引检查时循环:
while(str.indexOf("about") > -1)
{
//do replace here
}
或者更好的选择是使用正则表达式。
在此处查看更多信息: Why does javascript replace only first instance when using replace?
如评论中所述,document.getElementsByClassName
返回与您的选择器匹配的 HTMLCollection,这就是您无法设置 .innerHTML
的原因。这可以通过处理集合来解决,比如说,通过遍历它:
var adpSummary = document.getElementsByClassName("adp-summary");
for (var i = 0; i < adpSummary.length; i++) {
// Do string replacement on adpSummary[i]
adpSummary[i].innerHTML = adpSummary[i].innerHTML.replace(new RegExp('about', 'gm'), 'ETA: ')
}