jquery - 为什么 jQuery UI 不隐藏具有隐藏父元素的元素?

标签 jquery jquery-ui

我一直在开发一个单页应用程序,并注意到我的下拉菜单有时在本应隐藏的情况下保持打开状态。我调查了发生这种情况的原因,并发现如果父元素被隐藏,则使用扩展 hide 函数通过 jQuery UI 隐藏元素是毫无值(value)的。

这个fiddle例如,它显示了我的意思,只需尝试单击隐藏显示按钮,然后单击显示parent1并尝试在那里隐藏元素。您会注意到状态指示器会立即更新,但一旦您返回到 parent2,您将看到该元素仍然可见。

我发现使用不带参数或仅传递毫秒的 jQuery hide ,它确实可以正常工作,并且在我使用 jQuery UI 参数更新它后停止工作,所以我假设它是 jQuery UI 而不是 jQuery 本身问题。

所以我的问题是为什么 jQuery UI 以这种方式工作,这是它应该工作的方式还是一个错误?

最佳答案

我认为这就是它应该工作的方式。在这种情况下,当您返回到 $('#parent2').show(); 行上的 parent2 时,它默认也会显示所有子元素。是 show()parent2 内的所有元素上迭代。虽然这看起来很麻烦,但在这个JSFiddle中有一种解决方法。这是你的修改版本。

关于jquery - 为什么 jQuery UI 不隐藏具有隐藏父元素的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15044516/

相关文章:

jquery - 如何验证最大字段大于最小字段?

javascript - jQuery:记录数组中元素的变化并通过索引检查它的变化

jquery - 捕获表单中的所有 HTML,包括没有帖子的文本字段值

javascript - 选项卡导航不适用于 Mozilla Firefox 上的自动完成文本框

javascript - Angular JS ng-repeat以垂直分割格式排列

javascript - 在 php/jquery 中替换或删除字符串中的双引号、单引号

javascript - 在 Jquery Ui Datepicker 中禁用今天之后的 future 日期

jQuery UI Droppable - 克隆可放置元素?

jquery - 悬停并使 Accordion 事件暗淡图标

javascript - 禁用 jquery ui 自动完成的向上/向下箭头导航