2017-10-09 109 views
0

我要检查,如果父母的孩子是最后一个: (所以在我的情况,我想选择的.icon如果是最后一个元素/它节点的父.button检查孩子是最后一个 - 也包括文本节点

<a href="" class="button"> 
    <i class="icon"></i> 
    Button 
</a> 
<a href="" class="button"> 
    Button 
    <i class="icon"></i> 
</a> 

我想是这样的:.button .icon:last-child:last-of-type

但选择忽略文本节点 - 有没有办法我怎么能检测如果.icon是前/后面的文字?

+0

你的意思是你要选择当且仅当它的DIV中的最后一件事图标文本节点? –

+0

@TemaniAfif – Aaroniker

+0

可能的重复[有没有文本节点的CSS选择器?](https://stackoverflow.com/questions/5688712/is-there-a-css-selector-for-text-nodes) – sol

回答

1

放置在一个元素

.icon:last-child { 
 
    color: red; 
 
}
<a href="" class="button"> 
 
    <i class="icon">Not last child</i> 
 
    <span>Button</span> 
 
</a><br /> 
 
<a href="" class="button"> 
 
    <span>Button</span> 
 
    <i class="icon">Last child</i> 
 
</a>

+0

工作,但我不想更改html标记 - 谢谢:) – Aaroniker

+1

不改变HTML标记,你唯一的选择是JS(jQuery或插入标记)。另一种解决方案是改变你检测的方式(在父级上添加一个类,等等)。 –

+0

@ Maxwells.c好吧,另一种方式将是惊人的,但他妈的它:D – Aaroniker

相关问题