CSS(3)显然有后代选择器,例如td em {color: red};
,但没有祖先选择器。
那么,我应该怎么做而不是类似的东西td {border: 1pt solid red} em;
?即,如何在某些 (X)HTML 元素的祖先上设置样式?
笔记:
- Javascript 与解决方法无关,XPath'y 可能是。
CSS(3)显然有后代选择器,例如td em {color: red};
,但没有祖先选择器。
那么,我应该怎么做而不是类似的东西td {border: 1pt solid red} em;
?即,如何在某些 (X)HTML 元素的祖先上设置样式?
笔记:
您可以等待实现 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。正常浏览器支持警告适用。