【问题标题】:Remove hidden element with :hidden selector [duplicate]使用 :hidden 选择器删除隐藏元素 [重复]
【发布时间】:2019-06-17 23:33:11
【问题描述】:

我是 jquery 新手,我尝试使用 display: none; 删除隐藏元素

我想用jquery的remove()方法来做。

var id = "#container" + event.parentNode.id;
$('id[style*="display: none;"]').remove();

var id = "#container" + event.parentNode.id;
$('id:hidden"]').remove();

两者都不适合我。

我不完全知道如何为隐藏元素编写选择器。

【问题讨论】:

  • console.log(id) 将显示该变量实际包含的内容。之后继续阅读在 JS 中使用字符串和变量的基础知识。
  • $(selector).filter(':hidden').remove()

标签: javascript jquery


【解决方案1】:

remove()jquery 函数,完全删除元素。如果您希望显示或隐藏元素,请使用show()hide(),这将添加 display: block;或显示:无;

由于隐藏选择器也存在问题,要编写隐藏选择器,您可以在要选择的元素末尾使用:hiden。所以在你的情况下,它可能看起来像这样:

var id = '#container' + event.parentNode.id;
$(id+':hidden"]').show();

您的选择器还有另一个问题。由于设置了 ID 的元素应该只出现在您的页面上一次,因此我看不出在这种情况下为什么需要隐藏选择器。

【讨论】:

  • 我想彻底删除,只是获取ID有问题。
  • 我已经使用隐藏选择器调整了我的响应。我不确定变量 id 是否指向正确的结果,但在大多数情况下,您不会这样做,因为具有 ID 的元素只会出现在您的页面上一次。
  • 我知道,我只想删除一个元素,这就是为什么我以 id 为目标。但是对于纯 JS,我没有删除元素,因为它的显示:none..
  • 好吧,你根本不需要 :hidden 元素,因为 jquery 默认也是“定位”隐藏元素。您只需要使用 $(id).remove(); 选择它如果它不起作用,则您的 id 可能没有正确定位。
  • 啊,好吧。谢谢!我会尝试一下。 :)
猜你喜欢
  • 1970-01-01
  • 2015-01-03
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
  • 2014-03-25
  • 2020-08-22
  • 1970-01-01
相关资源
最近更新 更多