Javascript 简单删除文本脚本
这可能很简单,但我花了很长时间搜索和谷歌搜索,我很接近,但没有雪茄 有人能给我一个小脚本来删除Javascript 简单删除文本脚本,javascript,text,Javascript,Text,这可能很简单,但我花了很长时间搜索和谷歌搜索,我很接近,但没有雪茄 有人能给我一个小脚本来删除 <a href="http://mysite.com/search?mode=results&queries_name_query="></a> 在HTML文档的正文中 我的标签是由JS生成的,它们总是打印一个额外的空白href,所以希望另一个快速删除它们的脚本可以清除这个问题 我的直觉告诉我,你可能只是想修改创建它们的脚本以防止它发生,但是如果你真的不能
<a href="http://mysite.com/search?mode=results&queries_name_query="></a>
在HTML文档的正文中
我的标签是由JS生成的,它们总是打印一个额外的空白href,所以希望另一个快速删除它们的脚本可以清除这个问题
我的直觉告诉我,你可能只是想修改创建它们的脚本以防止它发生,但是如果你真的不能做到,下面的一些东西应该以一种快速、肮脏的方式将它们全部清除掉
var badLinks = document.querySelectorAll("a[href='http://mysite.com/search?mode=results&queries_name_query=']");
for (var i=0;i<badLinks.length;i++)
badLinks[i].parentNode.removeChild(badLinks[i]);
var badLinks=document.querySelectorAll(“a[href=”http://mysite.com/search?mode=results&;查询_name_query=']”;
对于(var i=0;i如果mode=results&;querys\u name\u query=
可以得到动态,您可以通过以下方式匹配上一部分:
var anchors = document.getElementsByTagName(a);
for(var i = 0; i < anchors.length; i++) {
if(anchors[i].getAttribute('href').match('http://mysite.com/search?mode=results&queries_name_query=') !== -1) {
anchors[i].parentNode.removeChild(anchors[i]);
}
}
var-anchors=document.getElementsByTagName(a);
对于(var i=0;i
为什么不修复生成过多的脚本,而不是在它之后进行清理呢?这段代码不是假设所有a
元素都是主体
元素的直接子元素吗?除了标题和脚本/css链接之外,所有内容都应该在主体中。@alex啊,你说得对!我已经编辑了我的答案来修复它。愚蠢的我…谢谢你的观点谢谢你!@JKing:)JS不是我的领域,我已经把脚本放在头上了,但不幸的是它不起作用。除了标签之外,我还遗漏了什么吗?@还有一件事,任何链接都应该是身体的后代,你是对的,但他说的/意思是直接的孩子。可以安全地假设这些链接将是更远的后代,不幸的是,removeChild()
确实需要对正在调用它的元素的直接子节点(而不是孙子节点、曾孙节点等)进行引用。我犯了一个愚蠢的错误,如果我想一想的话,我就会被抓住。
function cleanlinks(){
var tem, s="http://mysite.com/search?mode=results&queries_name_query=",
L=document.links, len=L.length;
while(len){
tem=L[--len];
if(tem.href===s)tem.parentNode.removeChild(tem);
}
}