jQuery for...in toUpperCase 不是一个函数

标签 jquery

典型输入如下...

<input type="checkbox" class="actEmail" data-value="1"/>Department one</li>

在我的函数中...

var chksDept = $('input[type=checkbox].actEmail:checked');
var depts = Array();

chksDept.each(function() { 
    depts.push($(this).data('value').toUpperCase());  
});

为什么我收到错误:

$(...).data(...).toUpperCase() is not a function?

我需要的是获取所有大写的数据值。

最佳答案

this $(this).data('value') 返回的值是 number 类型。即:

console.log(typeof $(this).data('value'));

您首先需要检查它是否是一个数字,然后将其转换为字符串。就像这样:

var chksDept = $('input[type=checkbox].actEmail:checked');
var depts = Array();

chksDept.each(function() { 
    var data = $(this).data('value');
    if (typeof data === 'number') {
         data = ""+data;   
    }
    depts.push(data.toUpperCase());  
});

console.log(depts);

关于jQuery for...in toUpperCase 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16208776/

相关文章:

javascript - 根据姓氏的字母顺序自动对卡片进行排序

javascript - 使用原型(prototype)从构造函数引用变量

jquery - 使用 Jquery 传递隐藏字段值

javascript - 如何制作div slider ?

jquery选择器: select an element whose child has an attribute

javascript - 最小化多个带有动画的 Div

javascript - Jquery 需要切换输入文本框 - Jquery 中弃用的当前方法

Javascript 开头或包含

javascript - jQuery 日期选择器在 IE 中不起作用

jquery - 使用 jQuery 将宽度设置为百分比