无线电 return 上的 attr():未定义不是函数

attr() on radio return: undefined is not a function

我有这个代码

$.each($('input:checked', '#components-holder'), function(index, input){
    console.log(input.attr('value'));
});

我收到了这个错误:

undefined is not a function

我如何遍历页面中的所有单选按钮并获得价值?

作为 input 发送给您的回调的对象 不是 jQuery 对象,因此您不能使用 jQuery 方法。您需要将其转换为 jQuery 对象才能使用 jQuery 方法:

console.log($(input).attr('value'));

或使用原生 DOM 属性:

console.log(input.value);

或者,您可能希望使用 map 来获取适当的值:

var values = $('#components-holder input:checked').map(function(index, input) {
    return input.value;
}).get();

values 现在是一个包含所有相关值的数组。