2016-09-19 65 views
2

是否可以選擇哪個孩子不是i選擇沒有我孩子的主播

例子:

<a href="#"> <!--select this--> 
    Link! 
</a> 

<a href="#"> <!--but not this--> 
    <i class="material-icons">menu</i> 
</a> 

我試圖a:not(>i)a:empty,但沒有奏效。

回答

1

它,最遺憾的是沒有。 It's been proposed,但就是這樣。 你需要一些js。

var links = document.querySelectorAll("a"), 
i = 0, ii = links.length; 
for (i; i,ii; i++) { 
    if(!links[i].querySelector("i")){ 
     links[i].classList.add("without-i"); 
    } 
} 
+1

我一直在尋找,就是這樣,沒有辦法。謝謝你連接建議:) – Malork

2

定義2種樣式。一個爲a,另一個爲a i。似乎沒有其他方式,因爲:not不允許組合。

https://jsfiddle.net/rnu83ogm/1/

a{ 
    color:red; 
} 
a i{ 
    color:blue; 
} 

或用jQuery工作:

$("a:not(:has(>i))") 
+0

問題是,用這種方法,選定的元素將是'i'標籤,而不是錨點。在我的情況下,我需要添加一個填充錨點,所以這是一個肯定的問題:( – Malork

+0

對不起,馬爾科:(無論是JS或做一些神奇的:'a:padding; a>我負面填充我':( –