jQuery多个ID选择器

evrscar2  于 2023-03-29  发布在  jQuery
关注(0)|答案(7)|浏览(171)

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

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

基本上我想做的就是用几个不同的身份证打同一个电话...
我本以为这会起作用,但事实并非如此:

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

有什么想法吗

zbdgwd5y

zbdgwd5y1#

试试这个:

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

q0qdq0h22#

如果你给予每个示例一个类,你可以使用

$('.yourClass').upload()
izj3ouym

izj3ouym3#

你可以使用多个id,就像你写的:

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

然而,这并不意味着当你执行代码时,这些id就存在于DOM中,也不意味着upload是一个合法的函数,也不意味着upload的构建方式允许在一个selection中有多个元素。
upload是一个定制的jQuery插件,因此您必须展示upload的情况,以便我们能够帮助您。

qnzebej0

qnzebej04#

确保upload插件在其中实现了this.each,这样它将执行所有匹配元素的逻辑。

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

jaxagkaj5#

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

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

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

nom7f22z

nom7f22z6#

它应该这样做。通常这是你如何做多个选择器。否则它可能不喜欢你试图将三个上传的返回值分配给同一个var。
我建议使用.each,或者将返回值推送到数组中,而不是将它们赋给该值。

wqsoz72f

wqsoz72f7#

这应该可以,你可能需要一个空格后的逗号。
此外,之后调用的函数必须支持对象数组,而不仅仅是单例对象。

相关问题