首頁  >  文章  >  web前端  >  jquery :hidden選擇器選取標籤的詳解

黄舟
黄舟原創
2017-06-23 11:49:491878瀏覽

jquery的:hidden選擇器為什麼會選取221f08282418e2996498697df914ce4e標籤

<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"))一下就知道了。選取的不是221f08282418e2996498697df914ce4e,是裡面的5a07473c87748fb1bf73f23d45547ab8:

[option, input, div]

改為用$("#form1 > :hidden")來選擇就好了,這樣就只會選擇表單下的直接子元素,因此不會選擇option

select沒有結束標籤?

因為你選的是隱藏的標籤,而option就是隱藏的標籤。 。 select沒有隱藏所以不會選中,

以上是jquery :hidden選擇器選取