jQuery在具有样式display:block的第n个子元素之后追加元素
另一件jQuery的事情让我挠头。 我有一些浮动div(如下所示),它们使用jQuery打开和关闭。 我需要在没有显示样式的第三个子元素后追加一些位:nonejQuery在具有样式display:block的第n个子元素之后追加元素,jquery,css-selectors,Jquery,Css Selectors,另一件jQuery的事情让我挠头。 我有一些浮动div(如下所示),它们使用jQuery打开和关闭。 我需要在没有显示样式的第三个子元素后追加一些位:none <div class="ItemList"> <div class="Item">A</div> <div class="Item" style="display:none;">B</div> <div class="Item">C</d
<div class="ItemList">
<div class="Item">A</div>
<div class="Item" style="display:none;">B</div>
<div class="Item">C</div>
<div class="Item">D</div>
<div class="Item" style="display:none;">E</div>
<div class="Item">F</div>
<div class="Item">G</div>
<div class="Item">H</div>
<div class="Item">I</div>
<div class="Item" style="display:none;">J</div>
<div class="Item">K</div>
<div class="Item">L</div>
<div class="Item">M</div>
<div class="Item">N</div>
</div>
A.
B
C
D
E
F
G
H
我
J
K
L
M
N
我已经想出了这个,但它是不对的
$(".Item[style*='display: block']:nth-child(3n)").after("<div class='Clear'></div>");
$(“.Item[style*='display:block']:第n个子项(3n)”)。在(“”)之后;
有什么想法吗 我不确定您是否需要在选择
.Item
元素之前或之后过滤元素
在选定图元之后
$(".Item:nth-child(3n)").filter(function(){
return $(this).css("display") != "none";
}).after("<div class='Clear'></div>");
$(“.Item:n子项(3n)”).filter(函数(){
返回$(this.css(“display”)!=“无”;
}).在(“”)之后;
@undefined也有一个很好的答案。我不确定您是否需要在选择
.Item
元素之前或之后过滤元素
在选定图元之后
$(".Item:nth-child(3n)").filter(function(){
return $(this).css("display") != "none";
}).after("<div class='Clear'></div>");
$(“.Item:n子项(3n)”).filter(函数(){
返回$(this.css(“display”)!=“无”;
}).在(“”)之后;
@undefined也有一个很好的答案。您可以使用
:visible
选择器:
$(".Item:visible:nth-child(3n)").after("<div class='Clear'></div>");
$(“.Item:visible:nth child(3n)”)。在(“”)之后;
或:
$(“.Item:n子项(3n):可见”)。在(“”)之后;
请注意选择器的顺序很重要。您可以使用
:visible
选择器:
$(".Item:visible:nth-child(3n)").after("<div class='Clear'></div>");
$(“.Item:visible:nth child(3n)”)。在(“”)之后;
或:
$(“.Item:n子项(3n):可见”)。在(“”)之后;
请注意,选择器的顺序很重要。这和@undefined在某种程度上都起作用,但我得到了一些非常奇怪的结果,前几组三个都很好,但随后它变得有点疯狂,几乎随机地插入附加的html(我肯定不是这样)。我只是想玩一玩,看看有什么不对劲……创建一个JSFIDLE,我们就可以完成你要找的东西。这个和@undefined在某种程度上都可以完成,但我得到了一些非常奇怪的结果,前几组三人工作很好,但随后它有点疯狂,几乎随机地插入附加的html(我肯定不是).只是想玩一玩,看看有什么不对…创建一个JSFIDLE,我们就可以完成您要找的内容。我猜我需要选择可见的孩子,然后检查是否是第三个孩子,而不是相反?这些答案和@JoeFletch都很好,但我得到了奇怪的结果。有一个我想我需要选择那些可见的孩子,然后检查它是否是第三个孩子,而不是第三个孩子?这些答案和@JoeFletch的答案都很好,但我得到了奇怪的结果。对它们进行修补,看看我是否能在此时使用它!