javascript - 使用 Jquery .each 获取 rel 属性

标签 javascript jquery arrays

我有一个具有不同 rel 值的复选框列表。我的以下 jquery 代码给出了我的未定义。

var checked_keys=[];
$("input[type='checkbox']:checked").each(function(index, value){
    checked_keys.push( value.attr('rel') );
});

但是,如果我使用“this”,它会起作用。

var checked_keys=[];
$("input[type='checkbox']:checked").each(function(){
    checked_keys.push( $(this).attr('rel') );
});

谁能解释一下 .each with value 和 .each with $(this) 之间的区别?

最佳答案

在jQuery中,$.each方法有一个回调,返回索引和DOM节点,后者是原生DOM节点,jQuery没有包裹,所以需要包裹使用像 attr() 这样的 jQuery 方法,否则你必须使用像 getAttribute('rel')

这样的本地方法
var checked_keys=[];
$("input[type='checkbox']:checked").each(function(index, value){
    checked_keys.push( $(value).attr('rel') );
});

作为旁注,还有一个$.map方法,这似乎更合适

var checked_keys = $("input[type='checkbox']:checked").map(function(index, value){
    return $(value).attr('rel');
});

关于javascript - 使用 Jquery .each 获取 rel 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35567489/

相关文章:

javascript - Parse.com 无法从 Parse.User.current 获取用户名?

Javascript 检查数组中的现有对象

cocoa - 通过 socket 将数组 Controller 链接到 XCode 中的数组

c++ - 元素乘法——每三个元素

javascript - AWS S3/Javascript回调问题

javascript - Kotlin JS 不会在需要的地方添加 "new"关键字

javascript - 显示:none is preventing click event in jQuery

javascript - 避免根据显示的图像调整幻灯片 div 大小?

Javascript 播放器不适用于 Opera/Chrome

JavaScript:.forEach() 和 .map() 之间的区别