日期:2014-05-16  浏览次数:20458 次

新手求助,求思路
目的:替换页面的所有“收货”为“联系”
代码:var reg = new RegExp("收货", "g");
  var stringObj = document.body.innerHTML;
  var newStr = stringObj.replace(reg, "联系");
  document.write(newStr);
这样处理完了就没有样式了,我是在body onload里加载的,求老鸟们指点下

------解决方案--------------------
HTML code

<!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>

------解决方案--------------------
你在body中绑定onload事件去执行函数,但函数中却使用document.write(newStr);
这样,你一执行完,当前页面中就只剩下了:newStr了。你右键查看一下页面的源文件就知道了

document.body.innerHTML=newStr;//试试

或者像我楼上这位举的例子一样,将所有的内容放进一个div内。省得你body中出现不可控的意外的时候,你觉得莫名其妙