0

这是我的手风琴代码:

$('#faqlist li').click(function() {
    $('#faqlist li div').not('> div', this).slideUp(300, function() {
        $('> div', this).slideDown(300);
    });
});

这是我的 HTML:

<ul id="faqlist">
  <li><i class="icon-plus"></i>FAQ1
    <div id="faq1">FAQ1 content</div>
  </li>
</ul>

但是,当我单击 li 时,出现错误:

Uncaught TypeError: Cannot read property 'nodeType' of null 

谁能指出我出了什么问题?

4

2 回答 2

2

.not()不支持上下文作为参数..

您可以使用

$('#faqlist li').click(function() {
    var current = $('>div', this);
    $('#faqlist li div').not(current).slideUp(300, function() {
        current.slideDown(300);
    });
});

演示在http://jsfiddle.net/3aHaY/1/

于 2013-06-21T12:26:38.750 回答
0

这是您的代码,已更正

http://jsfiddle.net/24PZd/

您可能想使用:

.not($(this).next())
于 2013-06-21T12:23:31.143 回答