大家好,本人有一行JQuery代码在IE 7中无法使用。貌似简单的情况,但到底是哪里出了问题呢?
JS:
$(window).load(function(){
$("#start").click(function(){
$("#start").hide();
$("#twin_buttons_1").show();
});
});
HTML:
<!-- start of button selection decision tree -->
<div class="input-group col-sm-6 col-sm-offset-4">
<button type="button" id="start" class="btn btn-success subscribe_button btn-publish">让我试试</button>
</div>
<div id="selection" class="input-group col-sm-8 col-sm-offset-3">
<!-- Twin 1st level buttons -->
<div 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>
</div>
也加上了bootstrap CSS和JS。网址在www.conglinwang.com
你是不是应该先去查下jquery的load用法
真正的问题是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(){})
jquery 1.8之后好像就不支持ie7,8了。应该是版本问题。
$(function(){
your code here
})