在jQuery中隐藏<form>标签</form>

时间:2012-08-08 12:49:17

标签: jquery

由于某种原因,我页面上的<form>不会使用jQuery隐藏/显示。我的表单中还有其他内容,例如<div><table> s,但我已将其分隔为这两个输入字段,它们正在打破它: http://jsfiddle.net/3SDvm/2/

<form>
    <div>Random text</div>
<input id="multi" type="radio" name="style" value="checkbox"/>
    <label for="multi">Multiple options</label>

<input id="single" type="radio" name="style" value="radio" />
    <label for="single">Single option</label>
</form>​
$(document).ready(function() {
   $('form').slideUp(); 
});​

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

3 个答案:

答案 0 :(得分:5)

使用div封闭表单内容并隐藏/显示div。我更新了你的小提琴:http://jsfiddle.net/davidbuzatto/3SDvm/7/

使用DerWaldschrat解决方案,每个孩子都会单独隐藏/显示,弄乱你想要的行为。

编辑:我用三种方法再次更新小提琴,选择内部div并将其向上滑动。看看:http://jsfiddle.net/davidbuzatto/3SDvm/9/

答案 1 :(得分:4)

不要隐藏表单,这是一个没有真实外观的元素,而是试图隐藏所有孩子:

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

答案 2 :(得分:2)

每次使用表单字段的名称与父表单本身的属性或方法匹配时,都会发生这种情况。这包括样式,但也包括id,action,submit,length等.jQuery尝试解决这个问题,但仍然存在可能发生的情况。有关更多技术细节,请参阅此处:http://kangax.github.com/domlint/