在html文件的某处,我有以下几行:
/*my lines*/ $(function(){i=1;}); /**********/
我需要使用此{/ p>使用js
动态替换此行
/*my lines*/ $(function(){i=2;}); /**********/
这就是我试过的
var outerHTML = document.documentElement.outerHTML;
outerHTML = outerHTML.replace("/*my lines*/","/*my lines*/$(function(){i=2;});");
但我的正则表达不正确。我怎样才能更换它?如何找到以/*my lines*/
开头并以/**********/
结尾的子字符串?
答案 0 :(得分:2)
试试这个
console.log(str.replace(/\/\*my lines\*\/.*\/\*\*\*\*\*\*\*\*\*\*\//,"/*my lines*/$(function(){i=2;});"));
答案 1 :(得分:2)
不要使用引号来声明正则表达式。因为在您的代码中,javascript认为您使用的是string
而不是regex
。
outerHTML.replace(/\/\*my lines\*\//g,"/*my lines*/$(function(){i=2;});");
答案 2 :(得分:2)
This将提供您的答案:
每个HTML元素都有一个innerHTML属性,用于定义HTML 代码和该元素的开头和之间出现的文本 结束标签。通过在某个用户之后更改元素的innerHTML 互动,你可以制作更多的互动页面。
但是,使用innerHTML需要做一些准备工作 能够轻松可靠地使用它。首先,你必须给出元素 你想改变一个身份证。有了这个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'/>
然而,这是通过用户交互,您可以更改它,以便在另一个函数中调用此函数将触发此操作。
答案 3 :(得分:1)
根本不是正则表达式,这是一个字符串。 replace
方法不会尝试将字符串转换为正则表达式,它只会替换字符串的第一次出现。
如果使用正则表达式文字,则需要转义正则表达式中的*
个字符和/
个字符:
outerHTML = outerHTML.replace(/(\/\*my lines\*\/)[^\/]+(\/\*+\/)/g,"$1 $(function(){i=2;}); $2");