JQuery“$('div')。hide()和.show”不适用于某个div?

时间:2011-10-25 20:50:56

标签: jquery html conditional show-hide

我有一个小问题。我已经让jQuery hide()show()函数在正常<div>元素的表单选择值上运行良好,但我有一个<div>元素(第一个)和一些选择时不显示的代码。

以下是示例的链接:http://www.shmoggo.com/3/diff.html

这里是代码:http://www.shmoggo.com/3/diff.txt(抱歉,创建代码块太长了)

任何建议都会非常感激。

谢谢!

2 个答案:

答案 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无效(出于兼容性原因,通常应避免使用)

你绝对应该听听。