目的:替换页面的所有“收货”为“联系”
代码:var reg = new RegExp("收货", "g");
var stringObj = document.body.innerHTML;
var newStr = stringObj.replace(reg, "联系");
document.write(newStr);
这样处理完了就没有样式了,我是在body onload里加载的,求老鸟们指点下
代码:var reg = new RegExp("收货", "g");
var stringObj = document.body.innerHTML;
var newStr = stringObj.replace(reg, "联系");
document.write(newStr);
这样处理完了就没有样式了,我是在body onload里加载的,求老鸟们指点下
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title></title>
<style type="text/css">
</style>
</head>
<body>
<div id="test">
收货123收货333333333333收货123
</div>
<script type="text/javascript">
var t = document.getElementById('test');
var reg = new RegExp("收货", "g");
var stringObj = t.innerHTML;
var newStr = stringObj.replace(reg, "联系");
t.innerHTML = newStr;
</script>
</body>
</html>
这样,你一执行完,当前页面中就只剩下了:newStr了。你右键查看一下页面的源文件就知道了document.body.innerHTML=newStr;//试试或者像我楼上这位举的例子一样,将所有的内容放进一个div内。省得你body中出现不可控的意外的时候,你觉得莫名其妙
所以我说:你放进一个div内,那个div内就只有内容的那一种,没有脚本代码,没有脚本依赖性的那种你使用document.body这种来替换,这思路本来就不好你要么就是在后台输出前对内容中有需要做这种替换的,先替换好,然后再输出。这才是正道如果这种需求其实只是出现在某一个元素以内,那就只操作那一个元素反正就这意思吧
window.onload=function(){ var reg = new RegExp("收货", "g");
var stringObj = document.body.innerHTML;
var newStr = stringObj.replace(reg, "联系");
document.body.innerHTML=newStr;
}这样会没效果??
var reg = new RegExp("收货", "g");
var stringObj = document.body.innerHTML;
var newStr = stringObj.replace(reg, "联系");
document.body.innerHTML = newStr;//用这个
//document.write(newStr);这个注释