Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UserScript以删除多个<;部门>;s基于样式和/或id-如何创建它?_Javascript_Dom_Userscripts - Fatal编程技术网

Javascript UserScript以删除多个<;部门>;s基于样式和/或id-如何创建它?

Javascript UserScript以删除多个<;部门>;s基于样式和/或id-如何创建它?,javascript,dom,userscripts,Javascript,Dom,Userscripts,有许多很容易找到的从页面DOM中删除单个元素的示例 这里有一个很好的例子 我曾尝试编写脚本来删除多个div,但只删除了第一个div // ==UserScript== // @name Clean CreativeMarket // @namespace Fred // @include http://creativemarket.com* // @include https://creativemarket.com* // @version 1 //

有许多很容易找到的从页面DOM中删除单个元素的示例

这里有一个很好的例子

我曾尝试编写脚本来删除多个div,但只删除了第一个div

// ==UserScript==
// @name        Clean CreativeMarket
// @namespace   Fred
// @include     http://creativemarket.com*
// @include     https://creativemarket.com*
// @version     1
// @require     http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require     https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant       GM_addStyle

var elem = document.getElementById("site-banner");
elem.parentNode.removeChild(elem);

var elem02 = document.getElementById("navigation-sub");
elem02.parentNode.removeChild(elem02);
…行不通。仅删除第一个div

目标是一个单一的用户脚本,它将在静态和AJAX页面上工作(如上面提到的stackoverflow文章所示),按域和(id和/或样式)匹配div

以下是一些uBlock原点过滤器的示例,以说明:

couponscorpion.com##.clearfix.single.main-side > .swp_one.scale-.scale-100.swp_other_full_color.swp_individual_full_color.swp_default_full_color.swp_flat_fresh.swp_social_panel
couponscorpion.com##.dark_style.footer-bottom
couponscorpion.com##.left_st_postproduct
couponscorpion.com##.sidebar
couponscorpion.com##ul:nth-of-type(2)
coupontry.com###header
coupontry.com###sidebar
creativemarket.com###communicate
creativemarket.com###fgotw-seller-list
creativemarket.com###products-by
creativemarket.com###similar-recommended
有人能告诉我怎么做吗

  • 编辑01
是的,我知道我输入的内容有多混乱。有三个问题:

  • 根据元素自身的特征(id、样式等)删除元素
  • 根据图元自身及其父特征删除图元
  • 仅在指定URL上有条件地执行部分代码 或其一部分。例如,删除诸如1x1之类的公共代码 与farcebook相对应的像素,用于跟踪 站点特定元素。目标是一个单一的用户脚本 根据URL的不同应用不同

    @布罗克·亚当斯——你已经对我的几篇文章发表了评论。我并没有放弃尝试,我一直在寻找答案,然后随着我理解力的提高而发布。您的函数看起来可能就是解决方案,但是,就像我在web上看到的几乎所有其他示例一样,代码片段只显示一个删除函数,而我创建的代码只删除了第一次出现的多个删除函数。这些情况不一样。我每次试图找到多次删除的例子都没有带来好的例子。我的代码是否在语法上不正确、语法上不正确、是否存在并发问题、是否存在可变范围等。?我不知道。这就是我问的原因


  • 你的控制台有错误吗?你到底想要什么?您想删除
    elem
    elem
    的子元素,删除
    elem
    的父节点,还是删除
    elem
    父节点的所有子元素(即
    elem
    及其所有同级)?当前您正在获取一个元素,然后抓取其父元素…但随后删除该原始子元素。如果要删除父元素,只需执行
    elem.parentNode.remove()
    。如果您想保留该元素但将其清空,请看一看:这似乎与您链接的问题重复,只是您没有使用ajax技术,并且可能需要这样做。回答skyline3000的问题,然后解释这与前面的问题有何不同。@Brock Adams链接的帖子没有讨论基于URL的代码的可变应用。我应该更明确地说,我想使用一种方法来处理AJAX和非AJAX源代码。