$("form input") 和$("form :input")区别 求解释下
从类型上说,$("form input")是后代选择器,$("form :input")是元素过滤选择器。
$("form :input")包括textarea、select、button但$("form input")不包括。
你运行一下这个DEMO就知道了:
<!DOCTYPE html> <html> <head> <style> textarea { height:25px; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <form> <input type="button" value="Input Button"/> <input type="checkbox" /> <input type="file" /> <input type="hidden" /> <input type="image" /> <input type="password" /> <input type="radio" /> <input type="reset" /> <input type="submit" /> <input type="text" /> <select><option>Option</option></select> <textarea></textarea> <button>Button</button> </form> <div id="messages"> </div> <script> var allInputs = $("form :input"); var formChildren = $("form input"); $("#messages").text("Found " + allInputs.length + " inputs and the form has " + formChildren.length + " children."); $("form").submit(function () { return false; }); </script> </body> </html>
$("form input")是后代选择器选择form下的input 如果用JS写的话 怎么样表示啊
@普通用户: 你的意思是不用jQuery如何写吗?
@artwl: 对啊 假如用js写的话 怎么写
@普通用户:
var form=document.forms[0], inputs=form.getElementsByTagName("input"); document.write(inputs.length);//10
@artwl: 在问最后一个问题啊 假如$("form :input")表单不用jquery用JS的话 要怎么写了 这个应该比较复杂吧
@普通用户: 嗯,这个要复杂一些,还要用
getElementsByTagName("button") getElementsByTagName("select") getElementsByTagName("textarea")
:input 包含 select 和 textarea
看看也能学习到
学习+关注下!