gpt4 book ai didi

javascript - 错误 "Uncaught TypeError: Failed to execute ' animate' on 'Element' : Valid arities are: [1], but 4 arguments provided."on dynamic input field

转载 作者:行者123 更新时间:2023-11-29 10:41:16 24 4
gpt4 key购买 nike

我正在尝试使用带有以下代码的 jquery 动态创建表单

function createFieldSet(dataArray) {
var fieldset = $('fieldset');

$.each(dataArray, function(key, value) {
for(var key in value) {
if (key.toLowerCase() === "other") {
fieldset.append($('<button/>').attr({ type: 'button', name:'btn_' + key, value: key}).on('click', 'textOther', function() {alert('click');}).html(value[key]));
fieldset.append($('<input/>').attr({ type: 'text', name:'textOther', value: ""}).hide);
} else {
fieldset.append($('<button/>').attr({ type: 'button', name:'btn_' + key, value: key}).html(value[key]));
}

fieldset.append('<br />');
}
});
}

但返回标题中显示的错误,指向附加输入行的第二行,我试图在创建时隐藏它,除非单击上面创建的按钮。想知道为什么当我没有调用这样的函数时我会得到一些引用动画的东西,如果这是可修复/可行的......或者这是否应该用服务器端语言完成。

最佳答案

问题是 hide 上缺少括号,此处

fieldset.append(
$('<input/>').attr({
type: 'text',
name:'textOther',
value: ""
}).hide
);

应该是

fieldset.append(
$('<input/>').attr({
type: 'text',
name:'textOther',
value: ""
}).hide()
);

但这是一个时髦的语法,你应该编写它

fieldset.append(
$('<input />', {
type : 'text',
name : 'textOther',
value : ""
css : {
display : 'none'
}
})
);

之所以会这样,是因为jQuery有如下内部函数

jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
var cssFn = jQuery.fn[ name ];
jQuery.fn[ name ] = function( speed, easing, callback ) {
return speed == null || typeof speed === "boolean" ?
cssFn.apply( this, arguments ) :
this.animate( genFx( name, true ), speed, easing, callback );
};
});

jQuery 实际上在寻找属性 hide,它会以某种方式从你添加 .hide 到对象中获取它,我不会搜索任何源进一步了解发生这种情况的确切原因,因为这实际上只是您的错字,并不那么有趣。

关于javascript - 错误 "Uncaught TypeError: Failed to execute ' animate' on 'Element' : Valid arities are: [1], but 4 arguments provided."on dynamic input field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28594685/

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