jQuery多个ID选择器


120

这是我的代码开头的一小段:

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

基本上我想做的是使用几个不同的ID进行相同的通话...

我以为这会起作用,但不会:

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

有任何想法吗?


您正在使用什么上传插件?您确定它遵循推荐的插件开发模式吗?
bfavaretto

它应该工作,必须具有某种upload功能。jsfiddle.net/X7TAX
KOKOS

Answers:


230

试试这个:

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

3
这个答案肯定会起作用,但理想情况下,任何插件逻辑都应适用于所有匹配的元素。
ShankarSangoli 2011年

39

如果为这些实例中的每个实例提供一个类,则可以使用

$('.yourClass').upload()

19

可以使用多种形式id编写:

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

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

upload是一个自定义的jQuery插件,因此您必须说明发生了什么upload,我们才能为您提供帮助。


9

确保upload插件this.each在其中实现,以便它将对所有匹配元素执行逻辑。它应该理想地工作

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

4

这应该。通常,这就是您执行多个选择器的方式。否则,可能不会像您尝试将三个上载的返回值分配给同一变量。

我建议使用.each或将返回值推入数组,而不是将它们分配给该值。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.