选择并扭曲Jquery中的元素组
我得到了以下代码:选择并扭曲Jquery中的元素组,jquery,html,selector,Jquery,Html,Selector,我得到了以下代码: <div class="timeline"> <div class="timeslice" data-tid="360"></div> <div class="timeslice" data-tid="360"></div> <div class="timeslice" data-tid="360"></div> <div class="empty-tim
<div class="timeline">
<div class="timeslice" data-tid="360"></div>
<div class="timeslice" data-tid="360"></div>
<div class="timeslice" data-tid="360"></div>
<div class="empty-timeslice"></div>
<div class="timeslice" data-tid="360"></div>
<div class="timeslice" data-tid="360"></div>
<div class="empty-timeslice"></div>
<div class="empty-timeslice"></div>
<div class="timeslice" data-tid="360"></div>
<div class="timeslice" data-tid="360"></div>
<div class="timeslice" data-tid="361"></div>
<div class="timeslice" data-tid="361"></div>
</div>
有什么想法吗
如果我换一种方式,我试图选择彼此相邻的具有相同类/属性的元素,以便扭曲它们
我希望我的问题有道理,如果没有请让我知道!
非常感谢
多亏了莱昂纳多·德尔菲诺,这是最后的代码,对我来说很有用:
var group = [];
var groupCount = 0;
var group_attr_value = '360';
$(".timeline > div").each(function(i, item) {
var $item = $(item);
if($item.attr('data-tid') == group_attr_value) {
group.push(item);
};
if($item.next().attr('data-tid') != group_attr_value) {
$(group).wrapAll("<div class='wrapper'> Comment: " + groupCount + "</div>");
group = [];
groupCount++;
}
});
var组=[];
var-groupCount=0;
var组属性值='360';
$(“.timeline>div”)。每个(功能(i,项){
变量$item=$(item);
if($item.attr('data-tid')==组属性值){
组.推(项);
};
if($item.next().attr('data-tid')!=组属性值){
$(group.wrapAll(“注释:+groupCount+”);
组=[];
groupCount++;
}
});
你可以用几种方法来解决这个问题。如果您不介意单独包装元素(而不是像示例中那样分组),那么简单的解决方案是:
JS:
$('.timeslice').wrap('');
您可以执行以下操作:
var group = [];
var groupCount = 0;
var group_class = "timeslice";
$(".timeline > div").each(function(i, item) {
var $item = $(item);
if($item.hasClass(group_class)) {
group.push(item);
};
if(group.length > 0 && !$item.next().hasClass(group_class)) {
$(group).wrapAll("<div class='wrap'> Group: " + groupCount + "</div>");
group = [];
groupCount++;
}
});
var组=[];
var-groupCount=0;
var group_class=“时间片”;
$(“.timeline>div”)。每个(功能(i,项){
变量$item=$(item);
if($item.hasClass(group_class)){
组.推(项);
};
如果(group.length>0&&!$item.next().hasClass(group_class)){
$(组).wrapAll(“组:“+groupCount+”);
组=[];
groupCount++;
}
});
检查这把小提琴:忘了在我的问题顶部写上“你好”:你好!谢谢你,赛贝米莉亚;)我可以用另一种方式问我的问题:“选择所有具有相同类/属性且彼此相邻的元素”,不幸的是,这对我不起作用。我的目标是在一个组周围添加容器,以便在每个组中添加注释,如下所示:
这是第一组时间片
代码仅按类对项目进行分组,您只需修改函数即可按数据tid进行分组
var group = [];
var groupCount = 0;
var group_attr_value = '360';
$(".timeline > div").each(function(i, item) {
var $item = $(item);
if($item.attr('data-tid') == group_attr_value) {
group.push(item);
};
if($item.next().attr('data-tid') != group_attr_value) {
$(group).wrapAll("<div class='wrapper'> Comment: " + groupCount + "</div>");
group = [];
groupCount++;
}
});
$('.timeslice').wrap('<div class="wrap">');
var group = [];
var groupCount = 0;
var group_class = "timeslice";
$(".timeline > div").each(function(i, item) {
var $item = $(item);
if($item.hasClass(group_class)) {
group.push(item);
};
if(group.length > 0 && !$item.next().hasClass(group_class)) {
$(group).wrapAll("<div class='wrap'> Group: " + groupCount + "</div>");
group = [];
groupCount++;
}
});