javascript - JQuery hide() and show() 在IE 7、8中无法使用
伊谢尔伦
伊谢尔伦 2017-04-10 14:27:11
[JavaScript讨论组]

大家好,本人有一行JQuery代码在IE 7中无法使用。貌似简单的情况,但到底是哪里出了问题呢?

JS:

    $(window).load(function(){
    $("#start").click(function(){ 

        $("#start").hide();
        $("#twin_buttons_1").show();

    });
});

HTML:

<!-- start of button selection decision tree -->                    
<p class="input-group col-sm-6 col-sm-offset-4"> 
<button type="button" id="start" class="btn btn-success subscribe_button btn-publish">让我试试</button>
</p>

<p id="selection" class="input-group col-sm-8 col-sm-offset-3">

<!-- Twin 1st level buttons -->
<p id='twin_buttons_1' style='display:none;'>
    <br>
    <h2 style='font-weight:bold; color:white'>请选择一个选项:</h2>
    <button id='no_magic' class="btn btn-publish">都市生活</button>

<button id='magic' class="btn btn-publish">都市玄幻</button>

</p>

也加上了bootstrap CSS和JS。网址在www.conglinwang.com

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(5)
怪我咯

真正的问题是JQuery版本问题。我将JQuery降级到1.2.0版本后即可正常使用。

巴扎黑

jquery中的hide()和show()在IE7,8中应该是不存在问题的,楼主大概是把window.onload和jquery的load搞混淆了
jquery里的load方法是用于载入远程 HTML 文件代码并插入至 DOM 中,是一个ajax请求,详情可以参考jquery手册
把js代码第一行的$(window).load替换成$(document).ready应该就可以了
jquery中$(document).ready作用类似于原生的window.onload,当然也有几点区别:

  • window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行,$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕
  • window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个,$(document).ready()可以同时编写多个,并且都可以得到执行
  • window.onload没有简化写法,$(document).ready(function(){})可以简写成$(function(){})
高洛峰
$(function(){
your code here

})
迷茫

jquery 1.8之后好像就不支持ie7,8了。应该是版本问题。

阿神

你是不是应该先去查下jquery的load用法

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号