【发布时间】:2019-10-01 16:04:51
【问题描述】:
我写了这个脚本来删除网站上的广告。一整天都在努力。
这是JS代码:
var timer = setInterval(deletor, 1);
function deletor() {
timer;
var slider = document.querySelector("#slider-con");
var bannerTop = document.querySelector("#MainContent > div:nth-child(2)")
var bannerMiddle = document.querySelector("#MainContent > iframe");
var bannerRandom = document.querySelector("#MainContent > div:nth-child(7)");
var bannerRandom2 = document.querySelector("#MainContent > div:nth-child(6)");
if (slider == undefined) {
return false;
} else {
slider.parentNode.removeChild(slider);
};
if (bannerTop == undefined) {
return false;
} else {
bannerTop.parentNode.removeChild(bannerTop);
};
if (bannerMiddle == undefined) {
return false;
} else {
bannerMiddle.parentNode.removeChild(bannerMiddle);
};
if (bannerRandom == undefined) {
return false;
} else {
bannerRandom.parentNode.removeChild(bannerRandom);
};
if (bannerRandom2 == undefined) {
return false;
} else {
bannerRandom2.parentNode.removeChild(bannerRandom2);
};
};
现在,如您所见,它首先获取值,然后执行 if 语句。这背后的想法是:在第一次尝试时,它会删除元素,而在第二次尝试时,它会停止该功能。 但是当我插入最后一个元素时,它不会删除它。 ID 是正确的,一切都是正确的,但它不会删除元素,所以我不断收到相同的警报。
另外,我发现,我在两个地方看到了这个横幅广告。当我有 "var bannerRandom = document.querySelector("#MainContent > div:nth-child(7)");"这个,它显示为 "document.querySelector("#MainContent > div:nth-child(6)")" 这个,当我有两个时,它显示为 "document.querySelector("#MainContent > div:nth-child (6)")"这个。而且它没有被删除。
控制台没有显示错误。
【问题讨论】:
-
“在第一次尝试时,它会删除元素,在第二次尝试时,它会停止函数。” 这没有任何意义。你说的这些“尝试”是什么?
-
请注意,Java 和 JavaScript 是完全不同的编程语言。我和另一个用户合作删除了不相关的java 标签并添加了相关的javascript 标签。
-
哦,对不起!在输入 Java(意思是 Javascript)> T.J. 时可能会立即选择 Java。我指的是 if 语句及其作用。
标签: javascript jquery html css