多 ID 选择器

下面是我的代码开始的一个片段:

var myUpload = $("#upload_link").upload({bla bla bla

基本上我要做的就是用几个不同的身份打同样的电话。

我本以为这会奏效,但事实并非如此:

var myUpload = $("#upload_link,#upload_link2,#upload_link3").upload({

有什么想法吗?

254571 次浏览

如果给每个实例一个可以使用的类

$('.yourClass').upload()

试试这个:

$("#upload_link,#upload_link2,#upload_link3").each(function(){
$(this).upload({
//whateveryouwant
});
});

应该的。通常这就是你如何做多个选择器。否则,它可能不希望您尝试将三个上传的返回值分配给同一个 var。

我建议使用 .each或者将返回值推送到一个数组中,而不是将它们赋给该值。

应该可以,你可能需要在逗号后面加个空格。

而且,之后调用的函数必须支持一个对象数组,而不仅仅是一个单例对象。

你的 可以使用多个 id的方式,你写:

$('#upload_link, #upload_link2, #upload_link3')

但是,当您执行代码时,这并不意味着这些 id 存在于 DOM 中。这也不意味着 upload是一个合法的函数。这也并不意味着 upload的构建方式允许在一个选择中包含多个元素。

upload是一个自定义的 jQuery 插件,所以你必须展示 upload是怎么回事,我们才能帮助你。

确保 upload插件在其中实现了 this.each,以便它将执行所有匹配元素的逻辑。最好能成功

$("#upload_link,#upload_link2,#upload_link3").upload(function(){ });

如果以 upload_开头的所有元素在其 id中都具有相同的用途或语法,那么可以尝试使用以下内容:

$("*[id^='upload_']").each(function() {
$(this).upload()
});

这样,您就不必指定选择器中的每一个元素。