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。