jqueryselect器input')

我写了一个基本上select所有input type=text元素的代码,如下所示:

 $('.sys input[type=text]').each(function () {} 

如何将其更改为selectinput[type=text]select

使用正常的CSSselect器:

 $('.sys input[type=text], .sys select').each(function() {...}) 

如果你不喜欢重复:

 $('.sys').find('input[type=text],select').each(function() {...}) 

或者更简洁地说,通过context参数:

 $('input[type=text],select', '.sys').each(function() {...}) 

注意:内部的jQuery会将上面的代码转换成find()等价的

http://api.jquery.com/jQuery/

在内部,select器上下文是用.find()方法实现的,所以$('span',this)等价于$(this).find('span')。

我个人觉得第一个select是最可读的:),你的采取

 $('.sys').children('input[type=text], select').each(function () { ... }); 

编辑:其实这上面的代码相当于子select器.sys > input[type=text]如果你想要后裔select( .sys input[type=text] )你需要使用@NiftyDude给出的选项。

更多信息:

  • jQuery.children()
  • 多select器

如果您有多个input作为需要迭代的表单或表格中的文本,我这样做了:

 var $list = $("#tableOrForm :input[type='text']"); $list.each(function(){ // Go on with your code. }); 

我所做的是我检查了每个input,看看types是否设置为“text”,然后抓取该元素并将其存储在jQuery列表中。 然后,它将遍历该列表。 您可以为当前迭代设置一个临时variables,如下所示:

 var $currentItem = $(this); 

这会将当前项目设置为每个循环的当前迭代。 然后,你可以做任何你想要的临时variables。

希望这有助于任何人!

 $('input[type=text],select', '.sys'); 

循环:

 $('input[type=text],select', '.sys').each(function() { // code });