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()
等价的
在内部,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 });