jquery :hidden选择器选中<select>标签的详解

黄舟
黄舟 原创
2017-06-23 11:49:49 1476浏览

jquery的:hidden选择器为什么会选中<select>标签

<html> 
<head>
<title>forth.html</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../jquery.min.js">
</script>
</head> 
<body>
<form action="#" id="form1">
   <select>
     <option>Option</option>
   </select>
   <input type="hidden"/><div style="display:none">test</div>
 </form>
 </body> 
 <script type="text/javascript">
 alert($("#form1 :hidden").length);
 </script>
</html>

为什么结果是3,而不是2呢?谢谢。

console.log($("#form1 :hidden"))一下就知道了。选中的不是<select>,是里面的<option>:

[option, input, div]

改为用$("#form1 > :hidden")来选择就好了,这样就只会选择表单下的直接子元素,因此不会选择option

select没有结束标签?

因为你选的是隐藏的标签,而option就是隐藏的标签。。select没有隐藏所以不会选中,

以上就是jquery :hidden选择器选中<select>标签的详解的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。