菜鸟又来了...请教一个循环的写法... 现在不知道为啥有的链接能删掉,,有的链接却好像没匹配上,,,删不掉...补充:不要更改"var StrText=..."这一句...这句话对我来说是必须的... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script language= "JavaScript "> var StrText= '请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ '; var Str= '问 求助 免费 卡巴 瑞星 金山 江民 高手 邀请 起名 调查 楼上 接龙 QQ '.split( ' '); for (var i=0;i <Str.length;i++) { document.write( ' <a href= "javascript:void(0) "> '+i+ '\. '+Str[i]+ ' </a> \n '); document.write( ' <hr> 规则: <input id=StrText value=\ " '+StrText+ '\ " size=75\%> '); document.write( ' <input type=button value=\ "屏蔽链接\ " onclick=\ "xx();\ "> '); }function xx(){ var ci=0;var xx=document.getElementsByTagName( 'a '); var StrRul=document.getElementById( 'StrText ').value.split( ' '); for (var i=0;i <xx.length;i++){ if (xx[i].innerHTML.indexOf(StrRul[ci])> =0) xx[i].innerHTML= ' ';ci++; } scroll(0,0);} </script> -------------------------------把你代码整理了下,不过还是搞不懂你要表达的意思,注意把代码贴全了。 <script language= "JavaScript"> var StrText= '请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ '; var Str= '问 求助 免费 卡巴 瑞星 金山 江民 高手 邀请 起名 调查 楼上 接龙 QQ '.split( ' '); alert(Str)for (var i=0;i <Str.length;i++) document.write( ' <a href= "javascript:void(0) "> '+i+ '\. '+Str[i]+ ' </a> \n '); document.write( ' <hr> 规则: <input id=StrText value=\ " '+StrText+ '\ " size=75\%> '); document.write( ' <input type=button value=\ "屏蔽链接\ " onclick=\ "xx();\ "> '); function xx(){var xx1=document.getElementsByTagName( 'a'); var StrRul=document.getElementById('StrText').value.split(' '); for(var i=0;i <xx1.length;i++){ for(var j=0;j<StrRul.length;j++){ if(xx1[i].innerHTML.indexOf(StrRul[j])>=0) xx1[i].innerHTML= ' '; } } scroll(0,0);} </script> 代码的意思是用StrText枚举一些词,用split(' ')分割来生成一个数组,数组中的任意一个元素(比如 '卡巴','瑞星','金山',江民' 之类的)都可以用StrText[i]来表示,function中循环的目的是删除页面中包含任何StrText[i]的全部链接...但是现在只能删除部分包含StrText[i]的链接,,,有一些词明明在StrText里枚举过却没有删除包含这些词的链接,,所以我觉得我这个循环写的可能有问题...希望有人能指点一下.... for (var i=0;i <xx.length;i++){ if (xx[i].innerHTML.indexOf(StrRul[ci])> =0) xx[i].innerHTML= ' ';ci++; } 是这个出了问题 也就是for (var i=0;i <xx.length;i++){ for(var j=0;j<StrRul.length;j++)} if (xx[i].innerHTML.indexOf(StrRul[j])> =0) xx[i].innerHTML= ' ';} } for (var i=0;i <xx.length;i++){ if (xx[i].innerHTML.indexOf(StrRul[ci])> =0) xx[i].innerHTML= ' ';ci++; } 你这样的 写法是不行的,你这样去掉的只是刚好匹配上的var StrText= '请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ '; var Str= '问 求助 免费 卡巴 瑞星 金山 江民 高手 邀请 起名 调查 楼上 接龙 QQ '.split( ' '); 你仔细看下你这个,再看看你的循环,也就是你的xx[0]对应着StrRul[0],玩意不对应,那就无法去掉了,就算后面的有对应上这个StrRul[0],但你却不是对应的,所以就出现你现在的情况 首先谢谢楼上几位的帮助,,现在代码已经基本能实现功能了,,但是我的实质问题尚未得到根本解决,,,分数稍后奉上,如果您有兴趣帮助我继续解决问题的话请往下看:我些这个代码主要是放在FireFox2.x的GreaseMonkey扩展里用的,,,GreaseMonkey可以让Firefox用户在浏览特定页面时执行特定的用户代码,,这样我在浏览天涯的帖子列表时候就能自动执行这个脚本从而屏蔽帖子列表中我不想看到的一些主题...现在打开一个帖子列表页面:http://www9.tianya.cn/new/Publicforum/ArticlesList.asp?strItem=it然后在地址栏粘贴我们刚才的代码:javascript:var StrText='请问 求助 卡巴 瑞星 金山 江民 高手 邀请 免费 起名 黑客 调查 楼上 造句 接龙 交友 注册码 QQ';function xx(){var xx1=document.getElementsByTagName( 'a');var StrRul=StrText.split(' ');for(var i=0;i <xx1.length;i++){for(var j=0;j<StrRul.length;j++){if(xx1[i].innerHTML.indexOf(StrRul[j])>=0) xx1[i].innerHTML=' ';}}scroll(0,0);}xx();回车之后就会看到我们要屏蔽的链接已经消失了...如果您用FireFox的话,现在可以去装一个GreaseMonkey扩展:http://ftp.mozine.cn/addons/extensions/greasemonkey/greasemonkey-0.7.20080121.0-fx.xpi然后在FireFox的用户profiles\gm_scripts文件夹添加两个文本文件作为屏蔽规则:start------------------TyRemoveADs.user.js------------------var StrText='请问 求助 卡巴 瑞星 金山 江民 高手 邀请 免费 起名 黑客 调查 楼上 造句 接龙 交友 注册码 QQ';function xx(){var xx1=document.getElementsByTagName( 'a');var StrRul=StrText.split(' ');for(var i=0;i <xx1.length;i++){for(var j=0;j<StrRul.length;j++){if(xx1[i].innerHTML.indexOf(StrRul[j])>=0) xx1[i].innerHTML=' ';}}scroll(0,0);}xx();end------------------TyRemoveADs.user.js------------------start------------------config.xml------------------<UserScriptConfig> <Script filename="TyRemoveADs.user.js" name="TY-RemoveADs" namespace="TY-RemoveADs" description="" enabled="true"> <Include>http://*.tianya.cn/new/Publicforum/ArticlesList.asp*</Include> <Include>http://*.tianya.cn/Techforum/ArticlesList/*</Include> </Script></UserScriptConfig>end------------------config.xml------------------启用GreaseMonkey扩展之后打开http://www9.tianya.cn/new/Publicforum/ArticlesList.asp?strItem=it这个页面...你会发现我们的脚本根本没起作用或者只屏蔽了少数几个链接,,而在地址栏直接貼代码运行的话却能实现屏蔽,,,经检测,,,其他脚本都可以正常加载并运行,,,只有这个带双循环的脚本不能正常运行...谁知道这是什么原因造成的??我可不想把这么长的代码放到书签里每次刷新之后都去点一下如果有解决办法就好了,,, <script language="JavaScript">var StrText= "请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ"; var Str= "请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ".split(" ");for(var i=0;i<Str.length;i++)document.write("<a href='javascript:void(0)'>"+i+"\."+Str[i]+"</a>\n"); document.write("<hr>规则:<input id=StrText value=\""+StrText+"\" size=75\%>"); document.write("<input type=button value=\"屏蔽链接\" onclick=\"xx();\">"); function xx(){var xx=document.getElementsByTagName("a");//此处得到的XX是一个数组var StrRul=document.getElementById("StrText").value.split(" ");for (var i=0;i<xx.length;i++){ for(var j=0;j<StrRul.length;j++) { if(xx[i].innerHTML.indexOf(StrRul[j])>=0) xx[i].innerHTML=""; }}scroll(0,0);} </script> JavaScript 求解JS的问题,我的构造函数怎么只能new一次 JS onclick重写 ie下能代替onmouseover onmouseout的那2个事件叫什么啊 新手请教一个关于正则贪婪量词和惰性量词的小问题!! 请问大家一个简单问题,但我很棘手的问题,求助! Js怎么在一个DIV后面加上一个DIV window.open 首页全屏的效果如何实现,或者将母页最小化 在<body> 这个里面可以加很多参数 如bgcolor等 我曾经......不看者会后悔 帮忙改个向上滚动的速度(有代码) jsp页面之间传递参数及相关
<script language= "JavaScript ">
var StrText= '请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ ';
var Str= '问 求助 免费 卡巴 瑞星 金山 江民 高手 邀请 起名 调查 楼上 接龙 QQ '.split( ' ');
for (var i=0;i <Str.length;i++) {
document.write( ' <a href= "javascript:void(0) "> '+i+ '\. '+Str[i]+ ' </a> \n ');
document.write( ' <hr> 规则: <input id=StrText value=\ " '+StrText+ '\ " size=75\%> ');
document.write( ' <input type=button value=\ "屏蔽链接\ " onclick=\ "xx();\ "> ');
}function xx(){
var ci=0;var xx=document.getElementsByTagName( 'a ');
var StrRul=document.getElementById( 'StrText ').value.split( ' ');
for (var i=0;i <xx.length;i++){
if (xx[i].innerHTML.indexOf(StrRul[ci])> =0)
xx[i].innerHTML= ' ';ci++;
}
scroll(0,0);
}
</script> -------------------------------
把你代码整理了下,不过还是搞不懂你要表达的意思,
注意把代码贴全了。
<script language= "JavaScript">
var StrText= '请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ ';
var Str= '问 求助 免费 卡巴 瑞星 金山 江民 高手 邀请 起名 调查 楼上 接龙 QQ '.split( ' ');
alert(Str)
for (var i=0;i <Str.length;i++) document.write( ' <a href= "javascript:void(0) "> '+i+ '\. '+Str[i]+ ' </a> \n ');
document.write( ' <hr> 规则: <input id=StrText value=\ " '+StrText+ '\ " size=75\%> ');
document.write( ' <input type=button value=\ "屏蔽链接\ " onclick=\ "xx();\ "> '); function xx(){var xx1=document.getElementsByTagName( 'a');
var StrRul=document.getElementById('StrText').value.split(' ');
for(var i=0;i <xx1.length;i++){
for(var j=0;j<StrRul.length;j++){
if(xx1[i].innerHTML.indexOf(StrRul[j])>=0)
xx1[i].innerHTML= ' ';
}
}
scroll(0,0);}
</script>
数组中的任意一个元素(比如 '卡巴','瑞星','金山',江民' 之类的)都可以用StrText[i]来表示,
function中循环的目的是删除页面中包含任何StrText[i]的全部链接...
但是现在只能删除部分包含StrText[i]的链接,,,有一些词明明在StrText里枚举过却没有删除包含这些词的链接,,
所以我觉得我这个循环写的可能有问题...希望有人能指点一下....
if (xx[i].innerHTML.indexOf(StrRul[ci])> =0)
xx[i].innerHTML= ' ';ci++;
} 是这个出了问题
for(var j=0;j<StrRul.length;j++)}
if (xx[i].innerHTML.indexOf(StrRul[j])> =0)
xx[i].innerHTML= ' ';}
}
if (xx[i].innerHTML.indexOf(StrRul[ci])> =0)
xx[i].innerHTML= ' ';ci++;
} 你这样的 写法是不行的,你这样去掉的只是刚好匹配上的var StrText= '请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ ';
var Str= '问 求助 免费 卡巴 瑞星 金山 江民 高手 邀请 起名 调查 楼上 接龙 QQ '.split( ' '); 你仔细看下你这个,再看看你的循环,也就是你的xx[0]对应着StrRul[0],玩意不对应,那就无法去掉了,就算后面的有对应上这个StrRul[0],但你却不是对应的,所以就出现你现在的情况
分数稍后奉上,如果您有兴趣帮助我继续解决问题的话请往下看:
我些这个代码主要是放在FireFox2.x的GreaseMonkey扩展里用的,,,
GreaseMonkey可以让Firefox用户在浏览特定页面时执行特定的用户代码,,
这样我在浏览天涯的帖子列表时候就能自动执行这个脚本从而屏蔽帖子列表中我不想看到的一些主题...
现在打开一个帖子列表页面:http://www9.tianya.cn/new/Publicforum/ArticlesList.asp?strItem=it
然后在地址栏粘贴我们刚才的代码:
javascript:var StrText='请问 求助 卡巴 瑞星 金山 江民 高手 邀请 免费 起名 黑客 调查 楼上 造句 接龙 交友 注册码 QQ';function xx(){var xx1=document.getElementsByTagName( 'a');var StrRul=StrText.split(' ');for(var i=0;i <xx1.length;i++){for(var j=0;j<StrRul.length;j++){if(xx1[i].innerHTML.indexOf(StrRul[j])>=0) xx1[i].innerHTML=' ';}}scroll(0,0);}xx();
回车之后就会看到我们要屏蔽的链接已经消失了...
如果您用FireFox的话,现在可以去装一个GreaseMonkey扩展:
http://ftp.mozine.cn/addons/extensions/greasemonkey/greasemonkey-0.7.20080121.0-fx.xpi
然后在FireFox的用户profiles\gm_scripts文件夹添加两个文本文件作为屏蔽规则:start------------------TyRemoveADs.user.js------------------
var StrText='请问 求助 卡巴 瑞星 金山 江民 高手 邀请 免费 起名 黑客 调查 楼上 造句 接龙 交友 注册码 QQ';
function xx(){var xx1=document.getElementsByTagName( 'a');var StrRul=StrText.split(' ');for(var i=0;i <xx1.length;i++){for(var j=0;j<StrRul.length;j++){if(xx1[i].innerHTML.indexOf(StrRul[j])>=0) xx1[i].innerHTML=' ';}}scroll(0,0);}xx();
end------------------TyRemoveADs.user.js------------------start------------------config.xml------------------
<UserScriptConfig>
<Script filename="TyRemoveADs.user.js" name="TY-RemoveADs" namespace="TY-RemoveADs" description="" enabled="true">
<Include>http://*.tianya.cn/new/Publicforum/ArticlesList.asp*</Include>
<Include>http://*.tianya.cn/Techforum/ArticlesList/*</Include>
</Script>
</UserScriptConfig>
end------------------config.xml------------------启用GreaseMonkey扩展之后打开http://www9.tianya.cn/new/Publicforum/ArticlesList.asp?strItem=it这个页面...你会发现我们的脚本根本没起作用或者只屏蔽了少数几个链接,,而在地址栏直接貼代码运行的话却能实现屏蔽,,,经检测,,,其他脚本都可以正常加载并运行,,,只有这个带双循环的脚本不能正常运行...谁知道这是什么原因造成的??我可不想把这么长的代码放到书签里每次刷新之后都去点一下如果有解决办法就好了,,,
var StrText= "请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ";
var Str= "请问 求助 卡巴 瑞星 金山 江民 高手 邀请 起名 黑客 调查 楼上 造句 接龙 QQ".split(" ");
for(var i=0;i<Str.length;i++)
document.write("<a href='javascript:void(0)'>"+i+"\."+Str[i]+"</a>\n");
document.write("<hr>规则:<input id=StrText value=\""+StrText+"\" size=75\%>");
document.write("<input type=button value=\"屏蔽链接\" onclick=\"xx();\">");
function xx(){
var xx=document.getElementsByTagName("a");//此处得到的XX是一个数组
var StrRul=document.getElementById("StrText").value.split(" ");
for (var i=0;i<xx.length;i++)
{
for(var j=0;j<StrRul.length;j++)
{
if(xx[i].innerHTML.indexOf(StrRul[j])>=0)
xx[i].innerHTML="";
}
}
scroll(0,0);
}
</script>