Gun*_*ter 5 javascript arrays jquery
我有一个具有不同rel值的复选框列表.我的以下jquery代码给出了我的undefined.
var checked_keys=[];
$("input[type='checkbox']:checked").each(function(index, value){
checked_keys.push( value.attr('rel') );
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用"this",它就可以了.
var checked_keys=[];
$("input[type='checkbox']:checked").each(function(){
checked_keys.push( $(this).attr('rel') );
});
Run Code Online (Sandbox Code Playgroud)
有人可以解释.each与value和.each与$(this)之间的区别是什么?
在 jQuery 中,该$.each方法有一个回调,返回索引和 DOM 节点,后者是本机 DOM 节点,没有包装在 jQuery 中,因此需要包装它才能与 jQuery 方法一起使用,否则attr()你必须使用本机方法,例如getAttribute('rel')
var checked_keys=[];
$("input[type='checkbox']:checked").each(function(index, value){
checked_keys.push( $(value).attr('rel') );
});
Run Code Online (Sandbox Code Playgroud)
作为旁注,还有一种$.map方法,似乎更合适
var checked_keys = $("input[type='checkbox']:checked").map(function(index, value){
return $(value).attr('rel');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |