Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Javascript替换所有innerhtml文本_Javascript_Jquery - Fatal编程技术网

用Javascript替换所有innerhtml文本

用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

我已经尝试了好几个小时,在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="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');