如何使用jQuery同时切换类和&切换内容?

时间:2011-02-01 17:42:01

标签: jquery class replace toggle

我在标题中有一个跨度,可以切换列表的可见性。最初我有一个空的& unclass span,jQuery切换span类,并在css中生成内容,更改其内容(符号)。但是,由于IE7在生成的内容中失败,我不得不使用两个类别来重建这个东西。内容填充的跨度 - 并不可怕,但如果我能以某种方式组合.toggleClass& .replaceWith,这会很酷,因为它可以让我简化标记 - 一个单独的,空的,未分类的跨度。我遇到的问题不是在后续点击中切换类,而是还原内容。

当前的工作版本:

<script type="text/javascript">
    $(document).ready(function(){

        $('#semantic-id h3').click(function() {
            $(this).parent('div').find('ul').slideToggle(333);
            $(this).find('span').toggle();
            return false;
        });

        $('#semantic-id h3 a').click(function() {
            window.location = $(this).attr('href');
            return false;
        });
    });
</script>

<div id="semantic-id">
    <h3>
        <span class="open-it">[ + ]</span>
        <span class="close-it">[ - ]</span>
        A List of Things
        <a href="#" title="Add Another One">Add Another One</a>
    </h3>
    <ul> ... </ul>
</div><!--  END div id="semantic-id"    -->

...而我更喜欢的是标记是:

<div id="semantic-id">
    <h3>
        <span>&nbsp;</span> A List of Things
        <a href="#" title="Add Another One">Add Another One</a>
    </h3>
    <ul> ... </ul>
</div><!--  END div id="semantic-id"    -->

我尝试了各种toggleClass,replaceWIth方法的组合,但我无法在第二次点击时恢复到原始状态,即关闭方框,还原类的内容格。

一如既往,非常感谢任何帮助!

0 个答案:

没有答案