我不是JavaScript方面的专家,所以我不知道如何把它放在一起,但基本上是:
我希望addClass
和attr disabled
改为$submit
& $inputs
。我这样做了:
$submit.addClass("sent");
$submit.attr('disabled', 'disabled');
$inputs.addClass("sent");
$inputs.attr('disabled', 'disabled');
问题是,我试图通过将它们全部放在一个命令“不知道它叫什么”来简化上面的脚本,所以我尝试了:
$submit, $input.addClass("sent");
但仅适用于$input
和$submit
的内容已被忽略,我不是JavaScript的专家,我不知道要搜索什么来寻找解决方案。
问题是,我可以将$submit
和$input
合并在一起吗?
答案 0 :(得分:1)
使用jQuery的.add()
:
$submit.add($inputs).addClass('sent').attr('disabled', 'disabled');
这将允许您将元素集合组合在一起,然后在新的组合集合上运行您想要的任何其他jQuery代码。
答案 1 :(得分:0)
您可以使用.add()来实现您的目标。
试试吧,
$submit.add($input).addClass("sent").prop('disabled', true);
另外使用
.prop('disabled', true)
而不是使用
.attr('disabled','disabled')
答案 2 :(得分:0)
您可以使用.add()
进行选择,包括所有目标元素,然后使用链接在所选元素上调用多个方法,只留下这一个... ...
$submit.add($inputs).addClass("sent").attr('disabled', 'disabled');
答案 3 :(得分:0)
基本上你这样做 -
$('input, submit').addClass('sent').attr('disabled', 'disabled');
但是,对于禁用属性,您应该在较新版本的jQuery中使用prop()。
答案 4 :(得分:0)
作为替代方案,您可以使用元素数组并传递给这样的函数:
function disableEvent(arr) {
for (var i =0; i < arr.length; i++){
arr[i].addClass('sent');
arr[i].attr('disabled','disabled');
}
}
//calling function
disableEvent([$submit,$inputs]);