我有一个小问题。我已经让jQuery hide()
和show()
函数在正常<div>
元素的表单选择值上运行良好,但我有一个<div>
元素(第一个)和一些选择时不显示的代码。
以下是示例的链接:http://www.shmoggo.com/3/diff.html
这里是代码:http://www.shmoggo.com/3/diff.txt(抱歉,创建代码块太长了)
任何建议都会非常感激。
谢谢!
答案 0 :(得分:2)
ID为2和3的div是带有图像的简单div。根据选择显示或隐藏顶级(即)div2和div3。
在div 1中,您有许多内部元素也设置为display:none,因为您使用的是泛型 $( 'DIV')隐藏();
在选择元素时始终使用id或类选择器。应避免使用通用语句
答案 1 :(得分:2)
div
id="1"
div
包含另一个$('div').hide()
,它被通用$(document).ready()
电话隐藏 - 并且此后不再显示。
此外,不需要嵌套多个$(document).ready(function(){
$("#dd").change(function(){
var selected= $("#dd option:selected").data('size');
$('div').hide();
$div_to_show = $('#'+ selected); // cache element for better performance
$div_to_show.show();
$('div', $div_to_show).show(); // show divs nested below current div as well
});
$('div').hide();
});
次呼叫。
试试这个:
{{1}}
修改:另外,引用@bobince:
另请注意,您使用的HTML4文档类型中的纯数字ID无效(出于兼容性原因,通常应避免使用)
你绝对应该听听。