由于某种原因,我页面上的<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上测试..
答案 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/