读书人

新手求思路

发布时间: 2012-10-21 09:00:07 作者: rapoo

新手求助,求思路
目的:替换页面的所有“收货”为“联系”
代码: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中出现不可控的意外的时候,你觉得莫名其妙

读书人网 >JavaScript

热点推荐