關於選擇器:hidden的說明,在jquery說明文件中是這樣說的:符合所有不可見元素,或是type為hidden的元素。而[type=hidden]是找出所有type屬性等於hidden的元素。兩者是有相同之處和不同之處的。 :hidden符合所有不可見元素,或是type為hidden的元素,所有樣式display等於none的元素和子元素以及type="hidden"的表單元素都在尋找的結果中,而[type= hidden]則只找type屬性為hidden的元素。
所以,input:hidden是尋找不可見容器中的input元素,包括,textbox,radio,checkbox,button等和type="hidden"的表單元素。 input[type=hidden]只找出type="hidden"的表單元素。如以下範例:在
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>jquery Demo</title> <script type="text/javascript" src="jquery-1.7.1.min.js"></script> <script type="text/javascript"> function beforeHidden() { $("#result").text("隐藏前:$(\"input:hidden\").length="+$("input:hidden").length+";$(\"input[type=hidden]\").length="+$("input[type=hidden]").length); } function afterHidden() { $("#div1").hide(); $("#result").append("<br/>隐藏后:$(\"input:hidden\").length="+$("input:hidden").length+";$(\"input[type=hidden]\").length="+$("input[type=hidden]").length); } </script> </head> <body> <form id="form1" name="form1" method="post" action=""> <div id="div1"> <input type="text" id="txt" /> <input type="radio" id="rdo" /><label for="rdo">单选框</label> <input type="checkbox" id="chx"/><label for="chx">复选框</label> <br /> <input type="button" id="btn1" value="原始" onclick="beforeHidden();"/> </div> <input type="hidden" id="hd"/> <input type="button" id="btn2" value="隐藏后" onclick="afterHidden();"/> <div id="result"></div></form> </body> </html>
範例中,div1被隱藏前,$("input:hidden").length=1;$("input[type=hidden]").length=1,隱藏後,隱藏後:$("input:hidden").length=5;$("input[type=hidden]").length=1,顯然,
div1中的<input type="text" id="txt" /> <input type="radio" id="rdo" /> <input type="checkbox" id="chx"/> <input type="button" id="btn1" value="原始"/>
也被包含進來了,而$ ("input[type=hidden]").length始終沒有改變。
以上是jquery選擇器:hidden和[type=hidden]兩者之間的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!