怎么用js实现一个动态添加的元素的隐藏

页面内一个无法预期什么时候会被添加的标签,我想让这个标签隐藏掉,前提是我无法操作源码,用的是油猴。
对自动生成的元素操作一般都是用事件委托吧。但是‘标签添加’又不是click、focus这类事件,不能用委托来做吧,求解决方案。

阅读 4.4k
3 个回答

隐藏还不好办,如果知道被添加的元素是什么东西,譬如:<label class="wtf">What the fuck</label>,那你只要加个css:

.wtf{
    display: none;
}

保证他无论什么时候添加的,都是隐藏状态。如果优先级不够,就加display: none !important;

简单粗暴

直接在页面添加css即可,假如此标签的id为#test,你直接在body上添加css如下:

#test{
    display:none;
}

无论什么时候被添加,都会被隐藏的。

上面的回答已经给出了一句 CSS 解决问题的方法,但如果顺着题主的思路,通过监听 DOM 变化来实现,也是可以得——特别是在 CSS 选择器无法精确定位的情况下。推荐题主了解一下 Mutation Observer 来实现对 DOM 变化的监听。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题