Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.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
Html 如果两个元素存在,有没有办法将它们动态地包装到一个div中?_Html_Css - Fatal编程技术网

Html 如果两个元素存在,有没有办法将它们动态地包装到一个div中?

Html 如果两个元素存在,有没有办法将它们动态地包装到一个div中?,html,css,Html,Css,我有一个角度应用程序,它根据是否需要(许多ng if)来渲染跨度。我需要根据这些跨距的内容/类名将它们包装在一个div中 例如: <div class="1"></div> <div class="2"></div> <div class="3"></div> 我什么都不想做。但是 <div class="1"></div> <div class="2"></div> &

我有一个角度应用程序,它根据是否需要(许多ng if)来渲染跨度。我需要根据这些跨距的内容/类名将它们包装在一个div中

例如:

<div class="1"></div>
<div class="2"></div>
<div class="3"></div>

我什么都不想做。但是

<div class="1"></div>
<div class="2"></div>
<div class="3"></div>
<div class="4"></div>


我确实希望将这4个div包装到父div
,但前提是这4个div依次出现。在CSS中有没有这样做的方法?如果四个元素连续出现,我可以使用选择器组合来操纵它们吗

因此,您不能仅使用css和html来实现这一点,就像上面的注释一样,您需要使用某种形式的javascript来操作dom。下面是一个使用jQuery的示例。希望有帮助

$(文档).ready(函数(){
$('.wrapme')。每个(函数(){
var myElement=$(此项);
var next1=$(this.next();
var next2=$(this.next().next();
var next3=$(this.next().next().next();
if(next1.hasClass('wrapme')&&next2.hasClass('wrapme')&&next3.hasClass('wrapme')){
var html='';
next3.after(html);
var parent=next3.next(“.parent”)
parent.append(myElement);
parent.append(next1);
parent.append(next2);
parent.append(next3);
}
});
});
.parent{
背景颜色:浅灰色;
}

1.
2.
3.
霹雳
1.
2.
3.
4.
霹雳
1.
2.
霹雳
1.
2.
3.
4.
霹雳
霹雳
1.
2.
3.
4.

Breakkkkk
“在CSS中有这样做的方法吗?”——当然没有;CSS不能创建新的结构化HTML元素,这完全不是CSS的职责……但既然这是一个角度应用程序,为什么不使用JavaScript来实现呢?向我们展示角度模板。绝对不是CSS,但你可以在jQuery中通过计算类数并包装它们来实现