2015-11-27 78 views
1

我有两个输入字段的字段具有相同的类,一个显示:无。我想查询不显示输入字段的值:无。是否有可能使一个元素对jquery不可见

EDIT(与实施例)

<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(); 

返回空白由于第一标题类是空的。我想忽略父母显示的第一个标题:无。

+0

关于您的问题,您的标题是相当混乱的... –

+0

也添加相应的HTML – Tushar

回答

4

使用:visible选择器选择未隐藏的元素。

$('.class:visible') 

注:(从文档

元素被认为是可见的,如果他们消耗在文档中的空间。可见元素的宽度或高度大于零。

带有visibility: hiddenopacity: 0的元素被视为可见,因为它们仍占用布局空间。

+0

要选择不可见的元素,请使用[:hidden selector](https://api.jquery.com/hidden-selector/ ) – Tushar

+0

完美,谢谢。将我的js更改为'$('。title:visible')。val();'这样做 –

0

有一个:visible选择在jQuery的(和:not()选择,.i.e :not(:visible)

0

既然你有两个元素,你必须重复他们低谷,并找到隐藏的一个。 我看到这个过程说服我:

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

您也可以使用:可见选择,如$(EL)。是( ':可见'),而不是读取属性的元素。

这是您的选择! 干杯!

相关问题