我试着写一个关于在Ebay上删除搜索结果的例子,这个脚本说“未指定运输”#39;下面的代码只删除了其中的一部分,有时甚至删除了指定运费或者仅适用于1个项目的代码。我甚至都不知道了。有什么问题?
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://*/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
var li = document.getElementsByClassName('lvshipping');
for(var i=0;i < li.length;i++)
{
if(li[i].innerHTML.indexOf("Shipping not specified") != -1)
{
console.log("Found!!!!!!!!!!!!!!!");
li[i].parentNode.parentNode.parentNode.removeChild(li[i].parentNode.parentNode);
}
}
})();
保持简单。
答案 0 :(得分:0)
尝试向后循环:
for (var i = li.length; i-->0 ;)
我认为document.getElementsByClassName
会返回一个动态NodeList。因此,当您从文档中删除当前<li>
时,它也会从列表中删除,将下一个<li>
转移到i
位置。然后,迭代器的i++
将跳过该元素而不进行处理。