我在标题中有一个跨度,可以切换列表的可见性。最初我有一个空的& 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> </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方法的组合,但我无法在第二次点击时恢复到原始状态,即关闭方框,还原类和的内容格。
一如既往,非常感谢任何帮助!