Javascript jQuery将类似的项目分组为标题
我试图根据数据属性对相似的项目进行分组,分组时,它应该显示从每个项目的数据属性中提取的两个标题 到目前为止,我可以得到一个标题组名称,但无法附加第二个类型名称 任何帮助都将不胜感激 示例:尝试实现以下目标 jQueryfunction${ var$list=$‘组’; 变量列表={}; var$newLists=$; $list.children.each函数{ var group=$this.data'group'; 如果!列表[组]列表[组]=[]; 列出[组].pushthis; }; $。每个列表、功能组、项目{ var$newList=$.appenditems.prepend+group+; $newLists=$newLists.add$newList; }; $list.replace为$newlist; }; 项目1 项目2 项目3 项目4 项目5 项目1 项目2 项目3 项目4 项目5Javascript jQuery将类似的项目分组为标题,javascript,jquery,Javascript,Jquery,我试图根据数据属性对相似的项目进行分组,分组时,它应该显示从每个项目的数据属性中提取的两个标题 到目前为止,我可以得到一个标题组名称,但无法附加第二个类型名称 任何帮助都将不胜感激 示例:尝试实现以下目标 jQueryfunction${ var$list=$‘组’; 变量列表={}; var$newLists=$; $list.children.each函数{ var group=$this.data'group'; 如果!列表[组]列表[组]=[]; 列出[组].pushthis; };
可能的解决办法是 jQueryfunction${ var$list=$‘组’; 变量列表={}; var$newLists=$; $list.children.each函数{ var group=$this.data'group'; 如果!列表[组]列表[组]=[]; 列出[组].pushthis; }; $。每个列表、功能组、项目{ var$newList=$.appenditems.prepend+group+ ++ $this.attrdata-type+ ; $newLists=$newLists.add$newList; }; $list.replace为$newlist; }; 项目1 项目2 项目3 项目4 项目5 项目1 项目2 项目3 项目4 项目5
下面是我如何为这样的需求编写代码的 使用$group>div选择所有目标div 迭代这些div,如果以前的类型或组值与当前值不匹配,则在div之前插入h3 group或h4 type 这会将代码压缩很多。下面是使用此逻辑时代码的外观:
var previousGroup = "";
var previousType = "";
$("#group > div").each(function() {
var group = $(this).data("group");
var type = $(this).data("type");
if(previousGroup != group) {
$(this).before("<h3>" + group + "</h3>");
previousGroup = group;
}
if(previousType != type) {
$(this).before("<h4>" + type + "</h4>");
previousType = type;
}
});
jQueryfunction${
var previousGroup=;
var-previousType=;
$group>div.eachfunction{
var group=$this.datagroup;
var type=$this.datatype;
ifpreviousGroup!=组{
$this.before+组+;
前一组=前一组;
}
ifpreviousType!=类型{
$this.before+type+;
previousType=类型;
}
};
};
项目1
项目2
项目3
项目4
项目5
项目1
项目2
项目3
项目4
项目5
var previousGroup = "";
var previousType = "";
$("#group > div").each(function() {
var group = $(this).data("group");
var type = $(this).data("type");
if(previousGroup != group) {
$(this).before("<h3>" + group + "</h3>");
previousGroup = group;
}
if(previousType != type) {
$(this).before("<h4>" + type + "</h4>");
previousType = type;
}
});