$(function () { var $div = $("#form1"); $div.each(function (i, item) { alert(item); }); });
<form id="form1" runat="server"> <input id="Text1" type="text" /> <input id="Checkbox1" type="checkbox" /> <input id="Text2" type="text" /> <input id="File1" type="file" /> <input id="Button1" type="button" value="button" /> </form>
each不是遍历每一个dom元素的,应该弹出5个消息框的,为什么就弹出了一个消息框?高手赐教。
$(function () { var $div = $("#form1 input"); $div.each(function (i, item) { alert(item); }); });
$("li").each(function(){ alert($(this).text()) });
<ul> <li>Coffee</li> <li>Milk</li> <li>Soda</li> </ul>
看这个例子弹出了三个li的值,是不是选择器中的元素必须是你所要遍历的元素。但是把上面的改成input有什么也弹不出。
@河洛之子: 我这里测试是可以弹出的。
这样就可以了。
<!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> <title>Untitled Page</title> <script type="text/javascript" src="js/jquery-1.6.4.min.js"></script> <script type="text/javascript"> function de() { var $de = $("#form1 input"); $de.each(function (i) { alert(i); }); } $(function () { de(); }); </script> </head> <body> <form id="form1" runat="server"> <input id="Text1" type="text" /> <input id="Checkbox1" type="checkbox" /> <input id="Text2" type="text" /> <input id="File1" type="file" /> <input id="Button1" type="button" value="button" /> </form> </body> </html>