允许javascript在附加任何数字的div上工作
我有一点jquery,它将jqueryui应用于div数组 div是动态生成的,每个div都需要一个唯一的ID。我已经成功地为div生成了唯一的ID,每个div的末尾都有一个不同的编号。现在,我希望jquery能够足够灵活地处理任何div,而不管最后是什么数字。所有div都具有命名约定为“activity-accordio123”或“activity accordion+number”的id 以下是我当前用于已生成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-
$(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以一些字符串开始,而不是包含一些字符串否,使用选择器,可以将元素与IDsomething activity accordion
tooYes我想到了这一点,但是如果要在一个页面上重复jquery ui accordion,则需要将其应用于具有唯一ID/类的div。据我所知。