2013-04-15 25 views
1

我想知道如何通過其內容來寫清單元素的CSS規則:如何從內容中選擇列表項?

<ul id="myList"> 
    <li>first item</li> 
    <li>empty</li> 
    <li>second item</li> 
    ... 
</ul> 

我想有一個規則包含li。我可以創建JavaScript嗅探childNodes的innerHTML,但我想知道是否有一個普通的CSS解決方案?

謝謝。

+0

答案是否定的......沒有邏輯或字符串的人在css中使用ipulation例程但是如果你可以向包含'empty'的li添加一個類,那麼它很容易 –

+0

即,如果你正在使用javascript/server side語言生成li,那麼只需將一個類添加到'

  • ' –

    回答

    0

    幾個月前我問了一個similar question。看來你不能檢查元素的內容,所以沒有。留在JavaScript。

    +0

    好的,我會的。至少我知道這不是一個壞方法。 – revolver

    0

    有一個你可以使用的:empty選擇器。它匹配沒有孩子的每個元素(包括文本節點)。

    p:empty { 
        /* p tags that are empty */ 
    } 
    

    Mozilla的文檔:https://developer.mozilla.org/en-US/docs/CSS/:empty

    的:空僞類代表有沒有孩子在所有的元素。只考慮元素節點和文本(包括空白)。註釋或處理指令不影響元素是否被視爲空。

    +0

    這很有用,但我真的需要檢查內容。 – revolver

    +0

    然後參考@Mr。外星人回答 –

    1

    有沒有像在CSS文本選擇的是,CSS是不是一種編程語言,它不知道什麼是裏面的元素,這就是JavaScript和jQuery的用武之地。

    您可以使用jQuery :contains()選擇,而不是(是啊,我知道你想要的CSS但不possiblehere)

    如果不使用這個詞的字面empty,如果你指的是一個空元素,比你可以使用:empty選擇器選擇它們是空元素

    +0

    CSS只是不知道元素的文本內容。它與CSS不是一種編程語言無關。 – BoltClock

    +0

    @BoltClock我只是指出,因爲jQuery可以窺視,CSS不能 –

    相關問題