document.body.innerHTML= document.body.innerHTML.replace("someone","funny");
它运作得很好。 我想在该网站上更换更多文本,但不想复制和发布。粘贴一次又一次,所以我写了一个小函数,如:
function a(s,d){document.body.innerHTML= document.body.innerHTML.replace(s,d);}
这样称呼:
a("test","success");
也没有问题。但后来我想多次调用该函数;像:
a("test","success");
a("some","thing");
但是我的脚本只执行了第一个函数..?
我尝试了另一种方法,使用数组.. sourcecode是这样的:
var array = [];
array.push("john")
array.push("jane")
array.push("foo")
array.push("bar")
b(array);
function b(array)
{
for(var i = 0; i<(array.length-1); i=i+2)
{
document.body.innerHTML= document.body.innerHTML.replace(array[i],array[i+1])
}
}
但是再次..只执行一次..
我做错了吗?
因为使用 document.body.innerHTML = document.body.innerHTML.replace(“foo”,“bar”) document.body.innerHTML = document.body.innerHTML.replace(“some”,“one”)
效果很好:E
答案 0 :(得分:-1)
for(var i = 0; i&lt;(array.length-1); i = i + 2)
可能是你问题的一部分......
数组长度为4 ....你从0开始计数,这意味着你只能在列表中找到3(我认为),然后i = i + 2意味着你只是处理每一个(我想)..
试
for(var i = 0; i<(array.length-1); i=i++)
或
for(var i = 0; i<(array.length); i=i++)
等..........执行时是显示第一个数组值还是最后一个?它可能循环太快而无法看到所有这些,因为您要用下一个替换