Javascript 如何使用JS替换字符串?
在html文件的某个地方,我有以下几行:Javascript 如何使用JS替换字符串?,javascript,regex,Javascript,Regex,在html文件的某个地方,我有以下几行: /*my lines*/ $(function(){i=1;}); /**********/ 我需要使用js动态替换这行代码 /*my lines*/ $(function(){i=2;}); /**********/ 这就是我试过的 var outerHTML = document.documentElement.outerHTML; outerHTML = outerHTML.replace("/*my lines*/","/*my line
/*my lines*/ $(function(){i=1;}); /**********/
我需要使用js动态替换这行代码
/*my lines*/ $(function(){i=2;}); /**********/
这就是我试过的
var outerHTML = document.documentElement.outerHTML;
outerHTML = outerHTML.replace("/*my lines*/","/*my lines*/$(function(){i=2;});");
但我的正则表达式不正确。我怎样才能更换它?如何定位以/*my lines*/开头并以/**********结尾的子字符串 试试这个
console.log(str.replace(/\/\*my lines\*\/.*\/\*\*\*\*\*\*\*\*\*\*\//,"/*my lines*/$(function(){i=2;});"));
不要使用quote来声明正则表达式。因为在代码中,javascript认为您使用的是字符串而不是正则表达式
那根本不是正则表达式,那是字符串。replace方法不会尝试将字符串转换为正则表达式,它只会替换字符串的第一次出现 如果使用正则表达式文字,则需要转义正则表达式中的*字符和/字符:
outerHTML = outerHTML.replace(/(\/\*my lines\*\/)[^\/]+(\/\*+\/)/g,"$1 $(function(){i=2;}); $2");
将提供您的答案:
每个HTML元素都有一个innerHTML属性,用于定义HTML和
代码和该元素的开头和结尾之间出现的文本
结束语。通过在某个用户之后更改元素的innerHTML
交互,您可以制作更多的交互页面
但是,如果您想使用innerHTML,则需要做一些准备
能够轻松可靠地使用它。首先,必须给出元素
您希望更改一个id。有了该id,您将能够
使用getElementById函数,该函数适用于所有浏览器
设置好后,现在可以操作
要素首先,让我们尝试更改粗体标记内的文本
例如:
<script type="text/javascript">
function changeText(){
document.getElementById('boldStuff').innerHTML = 'Fred Flinstone';
}
</script>
<p>Welcome to the site <b id='boldStuff'>dude</b> </p>
<input type='button' onclick='changeText()' value='Change Text'/>
但是,这是用户交互,您可以更改它,以便在另一个函数中调用此函数,该函数将触发此操作。您只想将i=1替换为i=2?你为什么不把它放在外面呢?replacei=1,i=2;还有,我的正则表达式不正确是什么意思?因为i=1可能不是唯一的。我有/*my lines*/string来确保我正在替换正确的I=1。另外,我不知道/*my lines*/$函数{I=1;};/***********/中有什么。它可能是任何东西。我需要根据字符串的开头/*my lines*/和结尾/**********/来定位字符串,您可以尝试:{/*REPLACE*/I=1;}outerHTML.REPLACE/*REPLACE*/I=1,/*REPLACE*/I=2;
<script type="text/javascript">
function changeText(){
document.getElementById('boldStuff').innerHTML = 'Fred Flinstone';
}
</script>
<p>Welcome to the site <b id='boldStuff'>dude</b> </p>
<input type='button' onclick='changeText()' value='Change Text'/>