Javascript 如何使用Greasemonkey选择没有标识符的div?
我需要删除一个div,但它没有标识符类,我可以使用id来选择它 这是分区:Javascript 如何使用Greasemonkey选择没有标识符的div?,javascript,jquery,html,css-selectors,greasemonkey,Javascript,Jquery,Html,Css Selectors,Greasemonkey,我需要删除一个div,但它没有标识符类,我可以使用id来选择它 这是分区: <div style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2t
<div style="background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDhCQzBDREZCQ0ZGMTFFMEIxQkFCQ0MxOEQzMzc5NTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDhCQzBDRTBCQ0ZGMTFFMEIxQkFCQ0MxOEQzMzc5NTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEOEJDMENEREJDRkYxMUUwQjFCQUJDQzE4RDMzNzk1MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEOEJDMENERUJDRkYxMUUwQjFCQUJDQzE4RDMzNzk1MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoOauxEAAAALSURBVAgdYzA+AwABNQEAGVbmvQAAAABJRU5ErkJggg%3D%3D"); z-index: 99998; position: absolute; top: 0px; left: 0px; width: 100%; height: 5809px;"></div>
有没有办法用Greasemonkey选择这个div
div可能有一个固定的代码位置,相对于一些更可选的元素
如果div没有唯一的CSS路径,那么它可能有唯一的CSS路径
XPath。除非你说,它不总是在相同的顺序,在
这个案子
如果背景图像始终相同,则可以通过该选项进行选择。例如:
var badDiv = document.querySelector (
"div[style*='iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC']"
);
badDiv.parentNode.removeChild (badDiv);
或者使用jQuery:
$("div[style*='iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC']"). remove ();
或者,在位置上选择:绝对;顶部:0px;样式属性的一部分
最后,div可能有您可以使用的唯一内容。在这个问题中没有显示
它总是按同样的顺序吗?您可以选择所有div,然后从中获取第n个div。不,不幸的是,不总是以相同的顺序。是否可以根据css背景图像值选择某些内容?不确定。您可以选择所有div,然后迭代它们并检查背景图像属性,也许?或者,检查所述属性是否存在?我在jQuery中使用了建议3,它工作得非常好。最后两个建议不起作用,因为其他元素的位置相同,而DIV实际上是空的,只有背景图像。非常感谢。我已经玩了一个小时左右了,哈哈。