css的替代方案是什么?选择一个祖先



CSS(3)有后代选择器,例如td em {color: red};,但显然没有祖先选择器。

那么,我应该做什么来代替td {border: 1pt solid red} em;呢?例如,我如何在某些(X)HTML元素的祖先上设置样式?

注意:

  • Javascript与此解决方案无关,XPath可能与此相关。

您可以等待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。

最新更新