Javascript 根据每个变量/值创建具有不同变量/值的数组<;部门>;id和类
JS/JQuery有没有办法为我的页面中的以下每个特定元素创建一个具有不同变量的数组Javascript 根据每个变量/值创建具有不同变量/值的数组<;部门>;id和类,javascript,jquery,Javascript,Jquery,JS/JQuery有没有办法为我的页面中的以下每个特定元素创建一个具有不同变量的数组 <div id#1-hello></div> <div id#2-hello></div> ...etc 你的问题有点含糊。你在找这样的东西吗 var pets = ["Error", "Fish", "Wolf", "Whale", "Zebra", "Ferret"]; var petCounts = {}; pets.each(function (pet
<div id#1-hello></div>
<div id#2-hello></div>
...etc
你的问题有点含糊。你在找这样的东西吗
var pets = ["Error", "Fish", "Wolf", "Whale", "Zebra", "Ferret"];
var petCounts = {};
pets.each(function (pet) {
var petCountDivs = $('[id$="'+pet+'"]').find('petClass');
petCountDivs.each(function () {
var countClass = $(this).attr("class").split(/\s+/).find(function(maybeCountClass) {
return maybeCountClass.startsWith("count");
}
var petCount = countClass.substring(countClass.lastIndexOf('-'));
if (petCounts[pet]) {
petCounts[pet] += petCount;
} else{
petCounts[pet] = petCount;
}
});
});
首先使用$=
选择器从pets
数组中查找其'id'
属性“以指定的petname结尾”的元素,然后对这些元素使用.find('petClass')
,因此,var-petCountDivs
是pet-named div中具有petClass
类的所有元素的集合
然后循环遍历每个
petcountdiv
,它获取以单词“count”开头的类的名称,并解析破折号(“-”)后面的值,然后创建一个新的count对象或聚合到解析值的现有计数器。是的,这是可能的,但这个问题太宽泛了你有没有试过自己解决这个问题?比如用类.map marker
选择元素,然后使用它们的ID和类(可能还有一些.split()
和/或regex操作)?您的.hasClass
引用的是'petClass'
,但这不会出现在HTML中的任何地方?willman,是的,这是一个错误,从我简化我的问题,以便张贴在这里,对不起。controlaltdel,我觉得我的例子很具体,但我会编辑一些细节@andreas我被这个问题困住了,我不知道如何在同一个数组中为每个元素创建新变量,也许我没有正确地“使用”我的搜索