我有几个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