【发布时间】:2013-11-28 01:09:54
【问题描述】:
基于这个非常基本的 HTML 结构:
<div>This is a cube</div>
<div>This is a triangle</div>
<div>This is a big, green circle</div>
我已经设置了以下 jQuery:
$(document).ready(function () {
$("div:nth-child(1)").addClass("cube-text text");
$("div:nth-child(2)").addClass("triangle-text text");
$("div:nth-child(3)").addClass("circle-text text");
$("div:nth-child(1)").wrap("<div class='cube shape'></div>");
$("div:nth-child(2)").wrap("<div class='triangle shape'></div>");
$("div:nth-child(3)").wrap("<div class='circle shape'></div>");
$(".shape").wrap( "<div class='inner'></div>" );
$(".inner").wrap( "<div class='outer'></div>" );
$(".outer").wrap( "<div class='column'></div>" );
$(".outer:nth-child(1)").addClass("cube-anim");
$(".outer:nth-child(2)").addClass("triangle-anim");
$(".outer:nth-child(3)").addClass("circle-anim");
});
由于某种原因,最后三行似乎没有按预期工作。他们应该将相应的类添加到在前几行中创建的“.outer”div 的连续实例中。我尝试过使用这种特定语法的各种替代方法,例如...
div .outer:nth-child
.column .outer:nth-child
.column:nth-child
还有其他几个人,通过反复试验,试图获得想要的结果。
我试图让每个“.outer”容器 div 拥有一个额外的类,CSS3 将调用该类来呈现一些基于 @keyframe 的动画。
这里是 jsfiddle:http://jsfiddle.net/5NEPu/
【问题讨论】:
-
为什么不根据元素中的文本添加类和包装器?
-
在这里回答了类似的问题 - stackoverflow.com/questions/19909458/…
-
因为这是我的任务,adeno
-
看起来很简单 -> jsfiddle.net/5NEPu/3
-
这样看...当你将它应用到外部时,每个外部 div 都是其父级的第一个子级,因此当你选择所有作为其父级的第一个子级的外部 div 时,你全部选中。另外两个什么都不做,因为每列只有一个外部 div。 jsfiddle.net/nM2z4
标签: jquery css jquery-selectors css-selectors