gpt4 book ai didi

javascript - 在循环中运行时 undefined object ,但在顺序执行时未定义

转载 作者:数据小太阳 更新时间:2023-10-29 05:57:39 24 4
gpt4 key购买 nike

我正在使用 jQuery Masked Input plugin使用定义为属性掩码值的数据掩码属性设置所有输入元素:

给定这个 html:

<input type='text' id="a" data-mask='999?999' />
<input type='text' id="b" data-mask='999' />

还有这个脚本:

$("input[data-mask]").each(function() {

var maskValue = $(this).data('mask');

console.log($(this).attr('id') + ": " + maskValue);

//undefined error here on second iteration "b: 999"
//no issues if you remove the data-mask from one of the input elements
return $(this).mask(maskValue);

});

第二次迭代抛出错误:“Uncaught TypeError: undefined is not a function”在这行,说'split'没有定义。

firstNonMaskPos = null, $.each(mask.split(""), function(i, c) {

但是这段代码工作得很好,掩码设置没有问题。

$('#a').mask('999?999');
$('#b').mask('999');

谁能阐明这种奇怪的行为?

Demo jsFiddle here

最佳答案

第二个被data()输入为number

因为 split() 是一个字符串方法,它会抛出错误。

简单修复:

var maskValue = "" + $(this).data('mask');

 var maskValue =  $(this).data('mask').toString();

关于javascript - 在循环中运行时 undefined object ,但在顺序执行时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28747229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com