是否可以使元素对 jquery 不可见

Is it possible to make an element invisible to jquery

我有两个输入字段字段 class,一个 display:none。我想查询非display:none.

的输入字段的值

编辑(举例)

<div id="Parent1" style="display:none">
  <p>
    <input type="text" class="title" value="">
  </p>
</div>

<div id="Parent2">
  <p>
    <input type="text" class="title" value="this is the one I want">
  </p>
</div>

js

$('.title').val();  

Returns 空白,因为第一个标题 class 是空的。我想忽略 parent 的第一个标题是 display:none。

使用 :visible select 或未隐藏的 select 元素。

$('.class:visible')

注意:来自文档

Elements are considered visible if they consume space in the document. Visible elements have a width or height that is greater than zero.

Elements with visibility: hidden or opacity: 0 are considered visible, since they still consume space in the layout.

jquery 中有一个 :visible 选择器(还有一个 :not() 选择器,即 :not(:visible)

由于您有两个元素,您必须遍历它们并找到隐藏的元素。 我看到这个过程对我来说很有说服力:

$('.class_el').each(function(el){
      if(el.hidden)
        //do something
});

您也可以使用 :visible 选择器,例如 !$(el).is(':visible') 而不是读取元素的 属性。

这是你的选择! 干杯!