Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
允许javascript在附加任何数字的div上工作_Javascript_Jquery_Html_Random_Numbers - Fatal编程技术网

允许javascript在附加任何数字的div上工作

允许javascript在附加任何数字的div上工作,javascript,jquery,html,random,numbers,Javascript,Jquery,Html,Random,Numbers,我有一点jquery,它将jqueryui应用于div数组 div是动态生成的,每个div都需要一个唯一的ID。我已经成功地为div生成了唯一的ID,每个div的末尾都有一个不同的编号。现在,我希望jquery能够足够灵活地处理任何div,而不管最后是什么数字。所有div都具有命名约定为“activity-accordio123”或“activity accordion+number”的id 以下是我当前用于已生成div的代码: $(function() { $( "#activity-

我有一点jquery,它将jqueryui应用于div数组

div是动态生成的,每个div都需要一个唯一的ID。我已经成功地为div生成了唯一的ID,每个div的末尾都有一个不同的编号。现在,我希望jquery能够足够灵活地处理任何div,而不管最后是什么数字。所有div都具有命名约定为“activity-accordio123”或“activity accordion+number”的id

以下是我当前用于已生成div的代码:

$(function() {
    $( "#activity-accordion408,#activity-accordion410,#activity-accordion415,#activity-accordion428,#activity-accordion439,#activity-accordion427" ).accordion({
      collapsible: true,
heightStyle: "content",
active: false,
header: "h3",
navigation: true
    }); 
  });

我想更改此javascript,以便它可以与ID为“activity accordion+任意数字”的任何div一起工作。这可能吗

使用ID属性选择器通配符“start with”,如下所示:

$('div[id^="activity-accordion"]').accordion({
    collapsible: true,
    heightStyle: "content",
    active: false,
    header: "h3",
    navigation: true
});

使用此css选择器:
*=

$(function() {
    $( "[id*='activity-accordion']" ).accordion({
         collapsible: true,
         heightStyle: "content",
         active: false,
         header: "h3",
         navigation: true
    }); 
});

您可以这样选择它们:

$("div[id^='activity-accordion'"])

选择以活动手风琴开始的所有div

是否有任何原因不能让每个div拥有一个“活动手风琴”类?类可用于设置/操作多个类似元素的样式。然后,您可以使用
$('.activity accordion')
来选择所有这些元素。

使用一个类将更具说教性和正确性

$(function() {
    $( ".accordions" ).accordion({
      collapsible: true,
heightStyle: "content",
active: false,
header: "h3",
navigation: true
    }); 
  });
要将所有
与模式
活动手风琴的
id
匹配,您可以使用:

$('div').filter(function() {
    return /activity\-accordion\d+/.test(this.id);
}).accordion({
    ...
});

这篇文章可能最能回答这个问题:你能添加一个对所有div都相同的类吗?然后可以选择多个div。“*=”表示不包含开始with@zladuric那没关系;它是jQuery,所以它在库工作的任何地方都可以工作。@请看这个问题的公认答案:@MohammadAreebSiddiqui您的答案也可以,但我想OP希望ID以一些字符串开始,而不是包含一些字符串否,使用选择器,可以将元素与ID
something activity accordion
tooYes我想到了这一点,但是如果要在一个页面上重复jquery ui accordion,则需要将其应用于具有唯一ID/类的div。据我所知。