JQuery 中 is,':visible' 解析及用法

javascript代码

  1. $(document).ready(function() {
  2. $('#faq').find('dd').hide().end().find('dt').click(function() {//end()为结束前面处理函数,返回到最初的元素
  3. //解释:用end()结束find(dd)的hide(),并将find(dt)作用到最初的#fap上
  4. var answer = $(this).next();//next()为此元素的下一个元素,可以再加上.next()表示下下一个元素,以此类推
  5. if (answer.is(':visible')) {//如果ANSWER 为可见,:visible是可见的意思,相关用法还有:hidden(隐藏),:first(第一个),:last(最后一个)
  6. answer.slideUp();//隐藏
  7. } else {
  8. answer.slideDown();//显示
  9. }
  10. });
  11. });

answer.is(':visible')是指可见的answer元素.

如果可见就调用answer.slideUp();使之隐藏.

else则是不可见的元素 调用answer.slideDown();使之显示.

类似的写法还有answer.is(':first')answer.is(':last')之类的,类似于css的伪类a:hover

实例

选择 <body> 元素中每个可见的元素:

$("body :visible")

亲自试一试

定义和用法

:visible 选择器选取每个当前是可见的元素。

除以下几种情况之外的元素即是可见元素:

  • 设置为 display:none
  • type="hidden" 的表单元素
  • Width 和 height 设置为 0
  • 隐藏的父元素(同时隐藏所有子元素)

语法

$(":visible")