CSS(3)具有后代选择器,例如td em {color: red};
,但显然是no ancestor selector。
那么,我该怎么办而不是td {border: 1pt solid red} em;
之类的东西呢?即,如何在某些(X)HTML元素的祖先上设置样式?
注意:
答案 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。正常的浏览器支持警告适用。