例如这样的的一段代码,它的运行结果是有14个不可见元素,为什么不是两个表单元素啊?
<script src="../scripts/jquery.js" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ $(document).ready(function(){ var $allhidden= $("#form1 :hidden"); // <input type="hidden" />和<div style="display:none">test</div>都可以匹配. $("div").append(" 有" + $allhidden.length + " 个( :hidden 元素)<br/>") }); //]]> </script> </head> <body> <form id="form1" action="#"> <input type="button" value="Button"/><br/> <input type="checkbox" name="c"/>1<input type="checkbox" name="c"/>2<input type="checkbox" name="c"/>3<br/> <input type="file" /><br/> <input type="hidden" /><div style="display:none">test</div><br/> <input type="image" /><br/> <input type="password" /><br/> <input type="radio" name="a"/>1<input type="radio" name="a"/>2<br/> <input type="reset" /><br/> <input type="submit" value="提交"/><br/> <input type="text" /><br/> <select><option>Option</option></select><br/> <textarea rows="5" cols="20"></textarea><br/> <button>Button</button><br/> </form> <div></div> </body>
求大神帮忙解决一下
换行符<br>和你所标记的“<input type="hidden" /><div style="display:none">”这两个标签都属于不可见元素,还有select下的<option>标签在页面上也属于不可见元素,也即:只要在页面上不显示的标签都属于不可见元素。希望对你有所帮助
首先谢谢大神.....不过我刚刚验证了一下,那个<option>标签它并没有算在不可见元素里,还有就是<div style="display:none">test</div><br/>这个语句后面的<br />并没有算在不可见元素里,这是为什么咧?
@杜玉月鹦: 已经都在里面了,你可以遍历一下“$allhidden”这个变量里面的元素查看一下,遍历结果是“br br br input div br br br br br br br option br br br”
用浏览器调试下,你就能看到你的$("#form1 :hidden")匹配到的标签都是哪些,火狐最新版只有两个,哈哈