4
<form id="test">
   <input type="text" name="title" value="I am title">
   <div id="text1">
      <input type="text" name="module-title" value="I am module title">
   </div>
   <div id="test2">
      <input type="text" name="article-title" value="I am article title">
   </div>
</form>

我如何通过 jquery 选择所有表单(即#test)输入字段,除了“#test2”内的所有输入字段。

4

6 回答 6

7

尝试

$('#test input:text').not('#test2 input:text')
于 2013-09-20T07:02:10.283 回答
4
$('#test :input:not(#test2 :input)')

:input是一个特殊的伪选择器,它匹配所有输入元素,input例如selecttextarea

JSFiddle:http: //jsfiddle.net/vudS3/

于 2013-09-20T07:02:24.240 回答
1

我建议:

$('#test input').not('#test2 *')

JS 小提琴演示

请注意,*上面代码中的 可以替换为input或任何其他更具体的 CSS 选择器。

参考:

于 2013-09-20T07:02:20.973 回答
0

使用 jquery 你可以做到这一点。

var formElements = $("#test :input").not('#test2 :input');

更多信息请点击这里

于 2013-09-20T07:01:50.750 回答
0

这应该可以解决问题$('test1').find('input')

于 2013-09-20T07:02:21.533 回答
0

您可以使用.not() 选择器来做到这一点。

在你的情况下:

var my form = $('#test').not('#test2');

会成功的。

于 2013-09-20T07:04:08.900 回答