:submit 选择器
分类:选择器 > 表单选择器 | 选择器 > jQuery扩展选择器
submit selector
描述:选择所有的type="submit"的<input>元素和<button>元素。
加入于: 1.0
jQuery( ":submit" ):submit
选择器应用到按钮或者输入元素上。注意,有些浏览器会把<button>
元素潜在地视为type="submit"
,与此同时,另一些浏览器(比如说Internet Explorer)不会这样。要想确保标记作用得跨浏览器一致,并保证可以一致地选择按钮以提交表单,请总是在按钮上指定type
属性。
其它说明
- 因为
:submit
是一个jQuery扩展,并不是CSS规范文档的一部分,使用:submit
查询,不能充分利用原生DOM的querySelectorAll()
方法来提高性能。要想在现代浏览器中获得更好的性能,请使用input[type="submit"], button[type="submit"]
来代替它。
示例
找到所有提交元素,它们是一个td元素的后代元素。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>submit demo</title> <style> textarea { height: 45px; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <form> <table id="exampleTable" border="1" cellpadding="10" align="center"> <tr> <th> Element Type </th> <th> Element </th> </tr> <tr> <td> <input type="button" value="Input Button"> </td> </tr> <tr> <td> <input type="checkbox"> </td> </tr> <tr> <td> <input type="file"> </td> </tr> <tr> <td> <input type="hidden"> </td> </tr> <tr> <td> <input type="image"> </td> </tr> <tr> <td> <input type="password"> </td> </tr> <tr> <td> <input type="radio"> </td> </tr> <tr> <td> <input type="reset"> </td> </tr> <tr> <td> <input type="submit"> </td> </tr> <tr> <td> <input type="text"> </td> </tr> <tr> <td> <select><option>Option</option></select> </td> </tr> <tr> <td> <textarea></textarea> </td> </tr> <tr> <td> <button>Button</button> </td> </tr> <tr> <td> <button type="submit">Button type="submit"</button> </td> </tr> </table> </form> <div id="result"></div> <script> var submitEl = $( "td :submit" ) .parent( "td" ) .css({ background: "yellow", border: "3px red solid" }) .end(); $( "#result" ).text( "jQuery matched " + submitEl.length + " elements." ); // 防止表单提交 $( "form" ).submit(function( event ) { event.preventDefault(); }); // 额外的JS使HTML更易于编辑(None of this is relevant to the ':submit' selector) $( "#exampleTable" ).find( "td" ).each(function( i, el ) { var inputEl = $( el ).children(), inputType = inputEl.attr( "type" ) ? " type='" + inputEl.attr( "type" ) + "'" : "" ; $( el ).before( "<td>" + inputEl[ 0 ].nodeName + inputType + "</td>" ); }) </script> </body> </html>
演示结果