jQuery - 如何选择隐藏/可见元素?

时间:2012-01-11 17:18:32

标签: jquery

我正在尝试做多步形式,我有5个div(所有这些都隐藏了) 其中五个是表单的一部分,所以我可以通过这样做得到第一个和最后一个

  var first = $("#new").children(":first").next();
  var last = $("#back").prev('div');

“#new”是表单的id,“#back”是后退按钮的id。 单击NEXT按钮后,它显示first.next(); ,但它应该只在第一次工作,然后它应该显示可见的div的next()。

我怎样才能得到那个div?

由于

编辑: 我正在尝试这样做,因为我在第一个div上点击下一个 然后它显示第二个div,然后是第三个div, 但是我想做一个自动检测可见的功能。

3 个答案:

答案 0 :(得分:4)

您的问题有点令人困惑,但如果您想检查某个元素是否可见,那么您可以使用:hidden伪选择器:

var first = $("#new").children(":first").nextAll(':hidden');

并且只找到可见元素:

var first = $("#new").children(":first").nextAll(':visible');

:hidden的文档:http://api.jquery.com/hidden-selector/

:visible的文档:http://api.jquery.com/visible-selector/

以下是演示:http://jsfiddle.net/v8fKc/

注意我使用了.nextAll()而不是.next(),因为后者只查找单个下一个元素,前者查看根选择后的所有兄弟元素。

.nextAll()的文档:http://api.jquery.com/nextall

答案 1 :(得分:1)

if ($('#theid:visible').length > 0)
     console.log('I Am Visible');
else
     console.log('I Am Not Visible');

答案 2 :(得分:0)

旋转一下:

 $(this).is(':visible');