- $(document).ready(function()
{ -
$('#faq').find('dd').hide().end().find('dt').click(function() {//end()为结束前面处理函数,返回到最初的元素 -
//解释:用end()结束find(dd)的hide(),并将find(dt)作用到最初的#fap上 -
var answer = $(this).next();//next()为此元素的下一个元素,可以再加上.next()表示下下一个元素,以此类推 -
if (answer.is(':visible')) {//如果ANSWER 为可见,:visible是可见的意思,相关用法还有:hidden(隐藏),:first(第一个),:last(最后一个) -
answer.slideUp();//隐藏 -
} else { -
answer.slideDown();//显示 -
} -
}); - });
answer.is(':visible')是指可见的answer元素.
如果可见就调用answer.slideUp();使之隐藏.
else则是不可见的元素 调用answer.slideDown();使之显示.
类似的写法还有answer.is(':first')answer.is(':last')之类的,类似于css的伪类a:hover
定义和用法
:visible 选择器选取每个当前是可见的元素。
除以下几种情况之外的元素即是可见元素:
- 设置为 display:none
- type="hidden" 的表单元素
- Width 和 height 设置为 0
- 隐藏的父元素(同时隐藏所有子元素)
语法
$(":visible")