2017-06-09 199 views
0

我需要选择除第一个元素之外的元素的所有子元素。我正在使用drupal和colorbox模块,并且我无法将唯一的类或ID添加到第一个元素中。选择除元素第一个元素之外的所有子元素

<span> 
<span> 
<a> </a> <a> <img> </a> 
<a> <img> </a> 
<a> <img> </a> 
</span> 
</span> 

我有一个结构, 可以有更多的<a> <img> </a>,但你的想法。

总之。我需要选择一个标签<a> <img> </a>内的所有图像标签,以便我可以将CSS规则应用于它们,而不会影响第一个标签<a>。也许有一个JQuery的解决方案呢?谢谢

+0

您的标记是无效的。你在编辑的第一个链接 –

+0

中有2个'a',谢谢。 –

+0

我的答案是否适用于新的标记? –

回答

2

使用:not(:first-child)排除第一个链接

.myClass img { 
 
    content: url('http://kenwheeler.github.io/slick/img/lazyfonz2.png'); 
 
} 
 

 
.myClass a:not(:first-child) img { 
 
    content: url('http://kenwheeler.github.io/slick/img/lazyfonz3.png'); 
 
}
<span> 
 
<span class="myClass"> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
</span> 
 
</span>

它基本上是在jQuery的同样的事情。

$('a:not(:first-child)').css('background','red');
a { 
 
    height: 1em; 
 
    width: 1em; 
 
    background: black; 
 
    display: inline-block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<span> 
 
<span> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
<a> <img> </a> 
 
</span> 
 
</span>

+0

我们假设这是第二个跨度这应该是CSS? .myClass a:不是(第一个孩子){display:inline;} –

+0

@MarwanAK':第一个孩子',你尝试过吗?更新我的答案... –

0

您可以使用此$("span>a").not(":eq(0)")

$("span>a").not(":eq(0)").css('background','red');
.myClass a { 
 
    width: 100px; height: 100px; 
 
    background: black; 
 
    display: block; 
 
} 
 
.myClass a:not(:first-child) { 
 
    background: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script> 
 
<span> 
 
<span> 
 
<a> dsada</a> <a> <img> </a> 
 
<a>dsada <img> </a> 
 
<a> dsada<img> </a> 
 
</span> 
 
</span>

+0

谢谢,已解决=) –

+0

欢迎您:)您还可以使用jquery .not(“:eq(0)”)函数 – hasan

相关问题