我有幾個div
秒,我要選擇他們是否包含一個元素,例如:有沒有辦法通過它們包含的元素來選擇元素?
<div><a href="http://example.com">link</a></div>
<div>No link</div>
我要選擇div
與它的聯繫,但不是一個沒有。這可能沒有JavaScript?
另外,我想要這個的原因是子reddit樣式表,因此我無法調整實際的HTML,只有CSS。
我有幾個div
秒,我要選擇他們是否包含一個元素,例如:有沒有辦法通過它們包含的元素來選擇元素?
<div><a href="http://example.com">link</a></div>
<div>No link</div>
我要選擇div
與它的聯繫,但不是一個沒有。這可能沒有JavaScript?
另外,我想要這個的原因是子reddit樣式表,因此我無法調整實際的HTML,只有CSS。
您正試圖將風格應用於基於後代的祖先。這在CSS中是不可能的。
最接近的是直接子選擇器。但是這會將a
的樣式應用於div
之內,而不是相反。
div > a
閱讀更多關於CSS Selectors。我建議尋找另一種方法來選擇這些元素或將您的樣式應用到a
上面。
首先你必須名稱的鏈接,並在div「類」和「身份證」像這樣:和CSS看起來就像這樣:
#divname,a.linkname {property:value;}
希望這是一個很好的答案
如果您已經閱讀我的文章,您會注意到我無法更改HTML。 – Andrea 2011-05-10 15:40:03
你可以使用:nth-child(N)選擇器,它基於父元素內div元素的位置,無論這可能是什麼。因此,在上面的例子中,其中包含a元素的div元素是第一個子元素,而沒有a元素的其他div元素是第二個子元素。從你的代碼中不清楚,如果這些div元素是任何其他元素的子元素還是他們身體元素的子元素。在情況下,他們是body元素的孩子,你可以做的
div:nth-child(1)
這將選擇第一個div
div:nth-child(2)
這將選擇第二個div。
Offcourse你必須爲自己想出哪些第n個孩子有嵌套在其中的任何其他元素,而不是使用該位置爲「N」的值。如果你div元素裏面沒有東西,你可以用
div:empty
$('div > a').parent().whateveryouneedtodo()
怎麼樣?
javascript有可能嗎? – starbeamrainbowlabs 2012-08-12 15:58:14
是的。 JavaScript中的DOM具有更大的靈活性。一旦你有邏輯,編碼某種祖先選擇器應該是直截了當的。發佈一個新問題,一旦你開始。 – 2012-08-13 12:52:30
好的,會做的。如果我有任何問題,我會發佈一個問題。 – starbeamrainbowlabs 2012-08-14 09:23:23