В jQuery, как я могу выбрать скрытый элемент? - PullRequest
28 голосов
/ 25 марта 2009

Как выбрать <span>, где display установлено в none в приведенном ниже коде?

<p id="p1">
<span id="test1" style="display:none">test1</span> 
<span id="test2" >test2</span> 
</p>

Я могу выбрать <span> с идентификатором "test1", используя $("span[id='test1']"), но он не работает, когда я использую $("span[style='display:none']").

Есть ли способ получить этот элемент за раз?

Большое спасибо.

1 Ответ

46 голосов
/ 25 марта 2009

Вы ищете :hidden селектор

Обратите внимание, что правильный способ выбора элемента по идентификатору просто:

$("#test1");

Делая это так, как вы делаете, вы заставляете jQuery выполнять ненужный синтаксический анализ, и он намного медленнее.

Если вы хотите выбрать #test1, только если он скрыт, вы делаете это:

$("#test1:hidden");

Если вы хотите выбрать все <span> элементы, которые скрыты под #p1, вы делаете это:

$("span:hidden", "#p1");

Как отмечено в комментариях, противоположность этого селектора является селектором :visible:

$("span:visible", "#p1");

Затем выберет любые видимые <span> элементы в элементе #p1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...