jquery只工作一次

时间:2013-04-05 22:46:37

标签: jquery css html-lists toggle

我有一个ul,隐藏列表元素处于默认状态:

$(function () {
    $("li.closed > ul").hide();
});

单击我显示隐藏列表元素并切换。

$("ul > li.closed").click(function () {
    var li = $(this).closest('li');
    li.find(' > ul').slideToggle('fast');
    $(this).toggleClass("closed open");
});

一切都很好。但当我访问另一个页面并返回到我之前的页面时,切换功能不再起作用 - 当我点击它们切换出来并立即切换回来时。

我在div中加载我的链接:

$(".link").click(function (e) {
    // Prevent the default action of the event
    e.preventDefault();
    var linkHref = this.id + '.html';
    $("#content").load(linkHref);
    $("#nav a.active").toggleClass('inactive active');
    $(this).addClass("active").removeClass('inactive');
});

因此我的html页面只存在于body部分,我每次都在加载global.js,这可能是一个问题(有类似的缓存或其他东西)?像这样:

<script src="js/global.js" type="text/javascript"></script>

<article>    
    <ul>
        <li class="closed">Headline
            <ul>
                <li class="fl"><a href="#"><img src="x.png"></a></li>
                <li class="fl"><a href="#"><img src="x.png"></a></li>
            </ul>
        </li>
    </ul>
</article>

1 个答案:

答案 0 :(得分:2)

而不是这个 -

$(function () {
    $("li.closed > ul").hide();
});  

删除上面的jQuery代码并将其插入到CSS中

li.closed > ul {
    display:none;
}