隐藏<;表格>;jQuery中的标记

隐藏<;表格>;jQuery中的标记,jquery,Jquery,由于某些原因,我的页面上的不会使用jQuery隐藏/显示。我的表单中还有其他内容,如s和s,但我将其分解为以下两个输入字段: 这是正常的行为,还是我做错了什么?在Chrome/IE/FF/Safari上测试。不要隐藏表单,表单是一个没有真实外观的元素,请尝试隐藏所有子元素: $("form *").hide(); 使用div括起表单内容并隐藏/显示该div。我更新了你的小提琴: 使用DerWaldschrat解决方案,每个孩子都将被单独隐藏/显示,从而扰乱您想要的行为 编辑:我用三种方法再次

由于某些原因,我的页面上的
不会使用jQuery隐藏/显示。我的表单中还有其他内容,如
s和
s,但我将其分解为以下两个输入字段:


这是正常的行为,还是我做错了什么?在Chrome/IE/FF/Safari上测试。

不要隐藏表单,表单是一个没有真实外观的元素,请尝试隐藏所有子元素:

$("form *").hide();

使用div括起表单内容并隐藏/显示该div。我更新了你的小提琴:

使用DerWaldschrat解决方案,每个孩子都将被单独隐藏/显示,从而扰乱您想要的行为


编辑:我用三种方法再次更新了小提琴,以选择内部div并将其向上滑动。请看一看:

每当您为表单字段使用与父表单本身的属性或方法匹配的名称时,都可能发生这种情况。这包括样式,但也包括id、操作、提交、长度等。jQuery试图解决这一问题,但仍有可能出现这种情况。有关更多技术细节,请参见此处:

我以前确实这样做过,但我有一些元素应该只显示在:hover上,所以执行
$('form*')。show()
会公开这些元素。我可以在那里添加一个
:不是
,但这并没有解决问题,如果我去掉那些
,我可以用
隐藏表单。也许你可以将完整的表单内容包装在一个字段集中,它是表单的一个(可见)区域。这真的不是一回事,尤其是
slideUp
效果,最好隐藏单个元素。您和@davidbuzatto提供了相同的解决方法,用div或字段集包装表单内容,但它看起来非常粗糙,我正试图保持我的标记在语义上有意义。@cypherabe:but
s可以像任何其他“display”元素一样进行样式化,这就是CSS的要点。另外,我并不需要对表单的各个部分进行分组,因此添加单个字段集/div对我来说并不太有吸引力。容器中的另一个容器只是为了修复视觉故障?为什么不将表单包装在
div
中并隐藏
div
。奇怪的是,当输入被删除时,它就可以工作了:我已经考虑过这种解决方法,并且隐藏了表单本身的实际元素,但是没有人能解释为什么会发生这种情况?起初我以为
s无法设置动画,但一旦你取出那些
s,一切都会按预期进行。此外,请检查此项-更改
名称会使其工作:怪异。我希望有人能解决这种好奇心。还要检查这个:这是一个bug吗@actaeon:也许你应该强调你想要的是一个解释,而不是一个解决方法。如果是这样的话,我对此很好奇。显然jQuery不喜欢将“样式”作为id或名称的值。我只能猜测它与索引有某种联系,因为样式也是DOM节点的js属性。我不确定它是否是一个有效的值,尽管我从未听说过这个限制。@WesleyMurch:看来表单是无法隐藏和显示的。我也不知道,是的。我尝试使用样式属性的形式与显示:无和它的作品也在操作小提琴!但是当您尝试使用jQuery时,我们遇到了相同的问题:jQuery可能不喜欢我使用
样式
作为名称。@actaeon:可能是一个JSFIDLE问题(可能?),您在其他地方运行过吗?@WesleyMurch:JSFIDLE示例只是我为一家公司开发的一部分。它快把我逼疯了!
$(document).ready(function() {
   $('form').slideUp(); 
});​
$("form *").hide();