CSS选择祖先的替代方法是什么

时间:2013-05-14 12:45:12

标签: css css-selectors

CSS(3)具有后代选择器,例如td em {color: red};,但显然是no ancestor selector

那么,我该怎么办而不是td {border: 1pt solid red} em;之类的东西呢?即,如何在某些(X)HTML元素的祖先上设置样式?

注意:

  • Javascript与解决方法无关,可能是XPath'y。

1 个答案:

答案 0 :(得分:2)

您可以等待实现CSS4选择器,然后执行

td! em {
    border: 1pt solid red;
}

请参阅http://dev.w3.org/csswg/selectors4/

或者...

var xpathresult = document.evaluate("//td[.//em]", 
    document, null, XPathResult.ANY_TYPE, null); 
while (e=xpathresult.iterateNext()){
    e.classList.add("border");
}

https://developer.mozilla.org/en-US/docs/DOM/document.evaluate。正常的浏览器支持警告适用。