在jQuery中,如何选择隐藏元素?

Kir*_*irk 28 css jquery css-selectors

如何在下面的代码中选择设置的<span>位置?displaynone

<p id="p1">
<span id="test1" style="display:none">test1</span> 
<span id="test2" >test2</span> 
</p>
Run Code Online (Sandbox Code Playgroud)

我可以<span>通过使用选择ID为"test1"的ID $("span[id='test1']"),但在使用时它不起作用$("span[style='display:none']").

有没有什么方法可以一次获得这个元素?

非常感谢.

Pao*_*ino 47

您正在寻找:hidden选择器

请注意,按ID选择元素的正确方法是:

$("#test1");
Run Code Online (Sandbox Code Playgroud)

按照你正在做的方式去做就是让jQuery做不必要的解析而且速度要慢得多.

如果您只想选择#test1隐藏它,请执行以下操作:

$("#test1:hidden");
Run Code Online (Sandbox Code Playgroud)

如果要选择<span>隐藏的所有元素#p1,请执行以下操作:

$("span:hidden", "#p1");
Run Code Online (Sandbox Code Playgroud)

如注释中所述,此选择器的反面是:visible选择器:

$("span:visible", "#p1");
Run Code Online (Sandbox Code Playgroud)

然后选择<span>元素中的任何可见元素#p1.

  • 这显然已经改变了.文档现在声明:"如果元素或其父元素在文档中不占用空间,则该元素被假定为隐藏.不考虑CSS可见性." (2认同)