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選擇器選取