在IE8中jQuery切换2个对象的问题

时间:2011-03-21 15:52:22

标签: html hyperlink jquery

我在网页上有一个扩展部分,我正在使用jquery来创建“展开/折叠”链接,点击后,它们将相互切换。它在除IE8之外的每个浏览器中都有效。事实上,当IE8处于兼容模式时,它可以很好地工作。

应该发生的是,当您单击“展开”时,可展开部分将向下滑动,“展开”链接切换为“显示:无”,而“折叠”链接切换为“显示:内联”。这有效。但是,当您点击“折叠”链接时,“展开”链接永远不会再次出现( 仅限于IE8 ):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Toggle Link Test</title>
</style>
<script type="text/javascript" src="/scripts/jquery.js"></script>
<script type="text/javascript">
$(function(){
    $('.search_link').click(function(){
        $('.search_link').toggle();
        $('#toggle_div').slideToggle();
    });
});
</script>
</head>

<body>
<fieldset>
    <legend>Search
        <a href="javascript: void(0);" class="search_link" style="display: inline;">Collapse [-]</a>
        <a href="javascript: void(0);" class="search_link" style="display: none;">Expand [+]</a>
    </legend>
    <div id="toggle_div">
        <p>blah blah blah blah blah blah blah blah</p>
        <p>blah blah blah blah blah blah blah blah</p>
        <p>blah blah blah blah blah blah blah blah</p>
        <p>blah blah blah blah blah blah blah blah</p>
        <p>blah blah blah blah blah blah blah blah</p>
        <p>blah blah blah blah blah blah blah blah</p>
    </div>
</fieldset>
</body>
</html>

1 个答案:

答案 0 :(得分:3)

@Dexter:升级你的jQuery版本。任何小于1.4.4的东西似乎都表现出你所描述的问题(在IE8中用jsFiddle测试 - http://jsfiddle.net/3KxwC/)。