是否有可能使一个元素对jquery不可见

Is it possible to make an element invisible to jquery

本问题已经有最佳答案,请猛点这里访问。

我有两个具有相同类的输入字段,一个显示:无。我想查询不显示的输入字段的值:无。

编辑(举例)

1
2
3
4
5
6
7
8
9
10
11
12
13
  <p>

    <input type="text" class="title" value="">
 
</p>



  <p>

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

JS

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

返回空,因为第一个标题类为空。我想忽略父级显示的第一个标题:无。


使用:可见选择器选择不隐藏的元素。

1
$('.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.


因为有两个元素,所以必须通过它们迭代并找到隐藏的元素。我认为这个过程对我来说很有说服力:

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

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

这是你的选择!干杯!


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