2015-12-09 30 views
0

元素的CSS僞類是否有元素的CSS僞類,像這樣沒有文本節點:對於沒有文字

div:nocontent { 
    display: none; 
} 

我知道有是:empty僞類,但我想要的東西應該忽視標籤...

例如:

<div> 
    <p></p> 
</div> 

這個任何解決方案?

編輯:

爲了說明它可能是這樣的語法:

<div class="checker"> 
    <div class="somemarkupcontainerthatcomesfromthesystemandcantberemoved"></div> 
</div> 

和隱藏,這樣整個事情(這將是最佳):

.checker:nocontent { 
    display: none; 
} 
+0

你能否提供更多的細節,因爲我不知道什麼是你的問題? –

+0

你想要一個選擇器,當子節點都沒有文本節點時,它也會匹配嗎? – haim770

+0

你不能做'div p:empty {display:none; }'? – Morpheus

回答

1

是的,empty檢查節點是否爲空(所以沒有文本和沒有子節點)。

沒有用於您目的的CSS選項。

+0

傷心......我已經這麼想過 –

1

如果你想定位你的div,你需要一個不存在的父選擇器,這樣才能解決腳本需要的問題。

Hitmands,check this post針對腳本示例所示。

說到腳本,也有一種服務器端方法,在將結果發送給客戶端之前,替換腳本可以解析出空標籤。

如果您想定位您的p,如果爲空,並且是您的div的子項,則可以這樣做。

div { 
 
    border: 2px solid red; 
 
    min-height: 20px; 
 
} 
 
p { 
 
    border: 2px solid blue; 
 
    height: 20px; 
 
} 
 
div:not(:empty) p:empty { 
 
    display: none; 
 
}
<div> 
 
    <p></p> 
 
</div> 
 
<br /> 
 
<div> 
 
    <p>Hey</p> 
 
</div>

+0

事情是我想隱藏div –

+0

@Grandy然後你需要腳本。按照我的答案中的鏈接。 – LGSon

+0

是的,好像是。我已經檢查了腳本版本...但在我的情況下,似乎不是一個好的解決方案,因爲我不希望我的應用程序將JavaScript代碼放入結果中。我保持原樣。無論如何謝謝你的答案。 –