2013-03-15 27 views
1

在jQuery中获取具有部分属性匹配的元素非常容易。例如带有id的可见元素的jQuery选择器like

section[id^="sect_"] 

会得到所有具有带有sect_xxxx形式的ID的元素。但是,我需要更进一步并获取 - 这是在jQuery Mobile应用程序中 - 当前可见的部分,并带有该表单的ID。我尝试过以各种方式组合可见修饰符,但是画了一个空白。我会感谢任何能提出正确格式的人。

+1

'$('section [id^=“sect _”]:visible')'? – undefined 2013-03-15 08:14:30

回答

3

试试这个

$('section[id^="sect_"]').filter(':visible'); 

实际上,filter方法允许您在当前DOM选择中设置选择器。 见jQuery filter

+0

谢谢。我经常使用过滤器 - 尽管这次没有想到它。 – DroidOS 2013-03-15 08:28:20

1

试试这个

检查,如果该元素是可见的使用is()

$('section[id^="sect_"]').is(':visible'){ //to check if it is visible.. 
     //your stuff if visible 
    } 

把所有元素是可见的,你可以使用:visible ..can使用过滤器太..

$('section[id^="sect_"]:visible') 
+0

谢谢。我经常使用过滤器,但不知道是 – DroidOS 2013-03-15 08:24:13

0

另一种方法是看它是否没有隐藏:

$('section[id^="sect_"]').not(':hidden').hide(); 

见本fiddle例如。