javascript 中使用innerHTML.replace 过程中的疑问
只能替换最开始的一个is为are当后面的is没有再替换了除非再加一句innerHTML.replace。。。<html><head><title></title><scr...
只能替换最开始的一个is 为are当后面的is没有再替换了除非再加一句innerHTML.replace。。。
<html>
<head>
<title></title>
<script language="javascript" type="text/javascript">
function rpl()
{
var b=document.body;
b.innerHTML = b.innerHTML.replace("is","are");
}
</script>
</head>
<body>
<input type="button" value="btn1" onClick="rpl()"/>
the game is over is the game
</body>
</html> 展开
<html>
<head>
<title></title>
<script language="javascript" type="text/javascript">
function rpl()
{
var b=document.body;
b.innerHTML = b.innerHTML.replace("is","are");
}
</script>
</head>
<body>
<input type="button" value="btn1" onClick="rpl()"/>
the game is over is the game
</body>
</html> 展开
5个回答
展开全部
用正则表达式替换,下边是微软给的示例:
下面的示例演示了 replace 方法将第一次出现的单词 "The" 替换为单词 "A" 的用法。
function ReplaceDemo(){
var r, re; // 声明变量。
var ss = "The man hit the ball with the bat.\n";
ss += "while the fielder caught the ball with the glove.";
re = /The/g; // 创建正则表达式模式。
r = ss.replace(re, "A"); // 用 "A" 替换 "The"。
return(r); // 返回替换后的字符串。
}
另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词:
function ReplaceDemo(){
var r, re; // 声明变量。
var ss = "The rain in Spain falls mainly in the plain.";
re = /(\S+)(\s+)(\S+)/g; // 创建正则表达式模式。
r = ss.replace(re, "$3$2$1"); // 交换每一对单词。
return(r); // 返回结果字符串。
}
下面的示例(在 JScript 5.5 及更新版本中执行)执行的是从华氏到摄氏的转换,它演示了使用函数作为 replaceText。要想知道该函数是如何工作的,传递一个包含数值的字符串,数值后要紧跟 "F" (例如 "Water boils at 212")。
function f2c(s) {
var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。
return(s.replace
(test,
function($0,$1,$2) {
return((($1-32) * 5/9) + "C");
}
)
);
}
document.write(f2c("Water freezes at 32F and boils at 212F."));
下面的示例演示了 replace 方法将第一次出现的单词 "The" 替换为单词 "A" 的用法。
function ReplaceDemo(){
var r, re; // 声明变量。
var ss = "The man hit the ball with the bat.\n";
ss += "while the fielder caught the ball with the glove.";
re = /The/g; // 创建正则表达式模式。
r = ss.replace(re, "A"); // 用 "A" 替换 "The"。
return(r); // 返回替换后的字符串。
}
另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词:
function ReplaceDemo(){
var r, re; // 声明变量。
var ss = "The rain in Spain falls mainly in the plain.";
re = /(\S+)(\s+)(\S+)/g; // 创建正则表达式模式。
r = ss.replace(re, "$3$2$1"); // 交换每一对单词。
return(r); // 返回结果字符串。
}
下面的示例(在 JScript 5.5 及更新版本中执行)执行的是从华氏到摄氏的转换,它演示了使用函数作为 replaceText。要想知道该函数是如何工作的,传递一个包含数值的字符串,数值后要紧跟 "F" (例如 "Water boils at 212")。
function f2c(s) {
var test = /(\d+(\.\d*)?)F\b/g; // 初始化模式。
return(s.replace
(test,
function($0,$1,$2) {
return((($1-32) * 5/9) + "C");
}
)
);
}
document.write(f2c("Water freezes at 32F and boils at 212F."));
展开全部
全局的字符串替换需要用正则表达式,要有全局的通配符,要写成这样:
b.innerHTML = b.innerHTML.replace(/is/g,"are");
b.innerHTML = b.innerHTML.replace(/is/g,"are");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(sys.firefox!=0 || sys.chrome!=0 || sys.opera!=0){Node.prototype.replaceNode=function(Node){this.parentNode.replaceChild(Node,this);}}
使用 replaceNode 这种方式,也可以做效果
使用 replaceNode 这种方式,也可以做效果
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b.innerHTML = b.innerHTML.replace(/is/g,"are");
简单明了。
简单明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上都正解,需要通配符。364761308 简单明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询