- $(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")