为什么我自己做的下拉列表不能在ie7中工作
Why my self made drop down list doesn't work in IE 7
代码在其他浏览器中运行良好,但在IE7中不行。IE7中的问题是,当选择第一个级别时,列表的第二个级别(ul .opt_1)不会显示。下面是HTML部分:
<input type="button" id="topic" value="please select a topic"/>
<div class="c"></div>
<ul id="opt_0">
<li class="opt_0">finance</li>
<ul class="opt_1">
<li>business</li>
<li>stock</li>
<li>company</li>
<li>startup</li>
</ul>
<li class="opt_0">IT</li>
<ul class="opt_1">
<li>internet</li>
<li>code</li>
<li>hardware</li>
</ul>
</ul>
<input type="hidden" name="topic"/>
和JS部分:
$(function(){
$("#topic").click(function(){
$("#opt_0").slideDown();
})
$(".opt_0").click(function(){
$(".opt_0").removeClass("selected");
$(this).addClass("selected");
$(".opt_1").hide();
$(this).next(".opt_1").show();
})
$(".opt_1 li").click(function(){
$("#opt_0").slideUp();
$("#topic").val($(".selected").html()+">>"+$(this).html());
$("input[name='"topic'"]").val($(".selected").html()+";"+$(this).html());
})
})
你可以在这里看到JS提琴:http://jsfiddle.net/lornechang/4BmPb/
我如何使它与IE7兼容?谢谢。
你的html是无效的。我做了必要的更改,使其正确在这个小提琴:
http://jsfiddle.net/4BmPb/1/<input type="button" id="topic" value="please select a topic"/>
<div class="c"></div>
<ul id="opt_0">
<li class="opt_0">finance</li>
<li class="opt_1">
<ul>
<li>business</li>
<li>stock</li>
<li>company</li>
<li>startup</li>
</ul>
</li>
<li class="opt_0">IT</li>
<li class="opt_1">
<ul>
<li>internet</li>
<li>code</li>
<li>hardware</li>
</ul>
</li>
</ul>
<input type="hidden" name="topic"/>
一个ul
元素只能包含li
元素,不能包含其他ul
元素。
至于为什么它在其他浏览器中工作,其他浏览器不像IE对html结构那样严格。我在IE9中测试了这个,出现了同样的问题,没有在IE7中测试过,但我怀疑它也会起作用。
相关文章:
- 应该怎么做才能使其在IE7中工作
- Chrome 中的图片映射:事件未触发!在IE7中工作正常
- 无法在 IE 9 中传递此运算符的值,而它在 IE7 和 IE8 中工作正常
- 使 JavaScript 特定的代码在 IE7 中工作
- 获取尾随逗号(在JavaScript中)在IE7 / IE8中工作
- jquery设置隐藏的输入值在IE7和IE8中未按预期工作
- 推文按钮在IE7中无法正确显示,但在Mozilla,chrome和IE 8中工作正常
- 为什么我的应用程序中的某些组件在IE7中工作,而在IE9中不起作用
- slideToggle()在IE7中无法正常工作
- 我可以使用excanvas或类似的画布填充程序让impact js在IE7和/或8中工作吗
- this.style.backgroundColor don'我不在IE7/8工作
- 让hashchange事件在所有浏览器(包括IE7)中工作
- 带有渐变的Javascript滑块在chrome上失败,而在FF和IE7/8/9上工作
- IE7中没有填充mootools中的动态下拉列表.IE8工作良好
- 水平菜单和具有公共边界的子菜单,它们也必须在ie7中工作
- jQuery:包含在ie7中不工作的内容(jQuery 1.3.5)
- jQuery Scroll不能在ie7和ie8中工作
- 美元(& # 39;html # 39;) .append()并# 39;t在IE7工作
- ie7问题:jquery点击编辑不工作
- 按钮标签在ie7中不工作