jQuery的show()和hide()在IE8中不起作用(当使用IE调试器时,代码突然起作用)

时间:2014-01-21 15:48:54

标签: javascript jquery html internet-explorer-8

我有一些HTML和JavaScript来显示和隐藏基于下拉列表中的选择的div。

JavaScript看起来如下:

$('.type-of-display-group').hide();
$('#six-graphs').show();
$('#display-type').change(function () {
    $('.type-of-display-group').hide();
    $('#' + $(this).val()).show();
});

HTML如下所示:

<select class="form-control" id="display-type">
    <option value="six-graphs">Six graphs</option>
    <option value="sliderFrame">Carousel</option>
</select>

<div id="six-graphs" class="type-of-display-group">
    [CODE FOR SIX GRAPHS]
</div> <!-- End six graphs display-->
<!-- The div for the carousel-->
<div id="sliderFrame" class="type-of-display-group"> 
    [CODE FOR CAROUSEL]
</div><!-- End of carousel -->

请参阅this Fiddle以查看实际操作的代码。

因此代码可以在Firefox中运行,但它在IE8中不起作用。会发生的是,两个div都显示在彼此的顶部(我看到左下角的信号破碎)。当我使用F12调试脚本然后使用调试器时,代码突然运行...

有没有人有另一种使用show()hide() jQuery函数的方法,以便我可以在IE8中使用此代码?

1 个答案:

答案 0 :(得分:2)

作为ajp15243Kevin BsatpalSpudley在评论console.log中注意到只能在Internet Explorer中进行调试时使用。当我删除一个console.log时,我在另一个JavaScript文件中运行文档并忘记了,代码就像一个魅力。

令人难以置信的是,这些东西花了我一整个下午。