Jac*_*ack 92 javascript jquery
我写了一个基本上选择所有input type=text
元素的代码:
$('.sys input[type=text]').each(function () {}
Run Code Online (Sandbox Code Playgroud)
如何更改它以选择input[type=text]
或select
?
And*_*ong 166
使用普通的css选择器:
$('.sys input[type=text], .sys select').each(function() {...})
Run Code Online (Sandbox Code Playgroud)
如果你不喜欢重复:
$('.sys').find('input[type=text],select').each(function() {...})
Run Code Online (Sandbox Code Playgroud)
或者更简洁地说,传递context
参数:
$('input[type=text],select', '.sys').each(function() {...})
Run Code Online (Sandbox Code Playgroud)
注意:内部jQuery
会将上述内容转换为find()
等效内容
在内部,选择器上下文是使用.find()方法实现的,因此$('span',this)等价于$(this).find('span').
我个人发现第一个替代方案是最可读的:),你的看法
$('.sys').children('input[type=text], select').each(function () { ... });
Run Code Online (Sandbox Code Playgroud)
编辑:实际上这个代码相当于子选择器,.sys > input[type=text]
如果你想要后代select(.sys input[type=text]
)你需要使用@NiftyDude给出的选项.
更多信息:
小智 5
如果您需要遍历表单或表格中的多个文本输入,我这样做:
var $list = $("#tableOrForm :input[type='text']");
$list.each(function(){
// Go on with your code.
});
Run Code Online (Sandbox Code Playgroud)
我所做的是检查每个输入以查看类型是否设置为“文本”,然后它会获取该元素并将其存储在 jQuery 列表中。然后,它将遍历该列表。您可以为当前迭代设置一个临时变量,如下所示:
var $currentItem = $(this);
Run Code Online (Sandbox Code Playgroud)
这会将当前项目设置为每个循环的当前迭代。然后你可以对临时变量做任何你想做的事情。
希望这可以帮助任何人!
归档时间: |
|
查看次数: |
341267 次 |
最近记录: |