首页 新闻 会员 周边

jquery中可见性过滤选择器的:hidden是怎样计算的?

0
悬赏园豆:5 [已解决问题] 解决于 2013-07-03 19:21

例如这样的的一段代码,它的运行结果是有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>

求大神帮忙解决一下

杜玉月鹦的主页 杜玉月鹦 | 初学一级 | 园豆:164
提问于:2013-07-03 14:51
< >
分享
最佳答案
1

换行符<br>和你所标记的“<input type="hidden" /><div style="display:none">”这两个标签都属于不可见元素,还有select下的<option>标签在页面上也属于不可见元素也即:只要在页面上不显示的标签都属于不可见元素希望对你有所帮助

收获园豆:5
ice&sww | 菜鸟二级 |园豆:223 | 2013-07-03 16:15

首先谢谢大神.....不过我刚刚验证了一下,那个<option>标签它并没有算在不可见元素里,还有就是<div style="display:none">test</div><br/>这个语句后面的<br />并没有算在不可见元素里,这是为什么咧?

杜玉月鹦 | 园豆:164 (初学一级) | 2013-07-03 16:36

@杜玉月鹦: 已经都在里面了,你可以遍历一下“$allhidden”这个变量里面的元素查看一下,遍历结果是“br br br input div br br br br br br br option br br br”

ice&sww | 园豆:223 (菜鸟二级) | 2013-07-03 16:47
其他回答(1)
0

用浏览器调试下,你就能看到你的$("#form1 :hidden")匹配到的标签都是哪些,火狐最新版只有两个,哈哈

sharplizhi | 园豆:366 (菜鸟二级) | 2013-07-03 17:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册