2017-06-18 118 views
0

我有三個列表:一個空列表忽略空格或div的CSS選擇器

<ul class="mighty-list" id="list1"> 
    <li>Cool</li> 
    <li>Yah</li> 
</ul> 

<ul class="mighty-list" id="list2"> 
    <div id="floating_button"></div> 
</ul> 

<ul class="mighty-list" id="list3"> 
</ul> 

現在我想寫一個S有沒有辦法選擇列表2 +項目list3(或選擇列表中的1只),考慮他們沒有任何<li>孩子?

我知道,:empty解決以上都不是,因爲項目list3包含空格,所以我需要一個不同的解決方案與<li>

+2

根本就不能選擇基於內容。 – 2017-06-18 13:28:08

+2

列表2是無效的HTML。你不能有一個div作爲ul的孩子。 – Quentin

+0

由於在這種情況下無效的HTML被擱置了,正如你已經知道的那樣,如果沒有孩子,':empty'將會工作,根據你需要的孩子選擇一個列表(假設是'ul')一個父選擇器,但它們不存在。 – LGSon

回答

1

有使用jQuery的方式來選擇列表。

您檢測到頁面上的任何<li>並向父級添加一個類。然後你可以在CSS中做你想要的那個類。

$('li').parent().toggleClass('has-li', true);
.has-li { 
 
    /* your code here */ 
 
    color: blue; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul class="mighty-list" id="list1"> 
 
    <li>Cool</li> 
 
    <li>Yah</li> 
 
</ul> 
 

 
<ul class="mighty-list" id="list2"> 
 
    <div id="floating_button"></div> 
 
</ul> 
 

 
<ul class="mighty-list" id="list3"> 
 
</ul>