用Javascript替换所有innerhtml文本
我已经尝试了好几个小时,在StackOverflow上查看了很多示例,但我无法修复我的简单脚本 我用jQuery抓住了DOM用Javascript替换所有innerhtml文本,javascript,jquery,Javascript,Jquery,我已经尝试了好几个小时,在StackOverflow上查看了很多示例,但我无法修复我的简单脚本 我用jQuery抓住了DOM var color = $('#bscontainer').html(); 现在颜色的内容是: <img src="resources/P/Blue_BG_2Col.png" id="bg"> <img src="resources/P/Blue_Content_2Col.png" id="content"> <img src="resou
var color = $('#bscontainer').html();
现在颜色的内容是:
<img src="resources/P/Blue_BG_2Col.png" id="bg">
<img src="resources/P/Blue_Content_2Col.png" id="content">
<img src="resources/P/Blue_Title_ExchangeRate.png" id="title">
<img src="resources/P/Blue_SubTitle_2Col.png" id="subtitle">
<img src="resources/P/Blue_Disclaimer_Disclaimer.png" id="disclaimer">
它根本不起作用。有什么想法吗?因此,基本上您希望在
颜色
元素中找到每个图像,并在src
属性中将蓝色
替换为绿色
——这是一种方法:
var color = $('#bscontainer');
color.find('img').each(function(){
curColor="Blue";
newColor="Green";
this.src = this.src.replace(curColor,newColor);
});
无需使用代码的.html()
部分…来实际更新html,并使用一次替换所有实例:
$('#bscontainer').html(function (i, str) {
curColor = new RegExp("Blue","g"); // global replace
newColor = "Green";
return str.replace(curColor, newColor);
});
要直接回答您的问题,请在javascript中替换,当它以字符串参数作为指针时,只替换第一个实例。要替换字符串中的所有实例,请使用全局正则表达式:
str.replace(/Blue/g, 'Green');
不过,您确实应该修改
img
标记的src
属性。这是解决这个问题的更恰当的方法。像尝试更改html一样更改html将丢失绑定到DOM元素的任何事件或数据。@Blazemonger有点苛刻:)这对我很有效。你一定是在代码中做了一些你没有提供的错误的事情,或者你期望从代码中得到的比所使用的方法所能提供的更多。我不明白你在这里试图做什么..更好地解释当你说它不起作用时,你是什么意思?您没有显示实际将更改写回文件的代码,因此,如果您希望加载新图像,这不会起任何作用。这将为您提供一些HTML,其中包含指向绿色资源的脚本。你还没有用它做任何事情。我试图提醒(t)。。。它仍然显示“蓝色”内容问题是蓝色和绿色实际上是一个变量。。。例如,var curColor=“Blue”;var newColor=“绿色”;我不能让正则表达式工作,当我使用variables@user2121401如果你构造一个。
str.replace(/Blue/g, 'Green');