CSS选择器:有没有办法选择周围的元素?

时间:2009-11-24 05:44:32

标签: css css-selectors

我觉得这可能涉及某种高级选择器,但我可能错了。我有这个HTML可以使用:

<dt></dt>
<dd><input type="hidden" class="hidden"></dd>

...我需要让DT和DD标签在视图中隐藏。我可以在input标签上应用课程,但不能在其他课程上应用课程。那么如何在DT / DD标签上应用“隐藏”类样式呢?

2 个答案:

答案 0 :(得分:1)

您不能以任何类型的跨浏览器特定方式执行此操作。 jQuery(或类似的Javascript库)将允许您使用以下内容执行此操作:

$("dd:has(input.classname)").each(function() {
  $(this).hide().prev().hide();
});

$("input.classname").each(function() {
  $(this).parent().hide().prev().hide();
});

注意:许多jQuery的功能都围绕着使用高级选择器,其中许多是CSS3标准的一部分,但该标准仅部分在最现代的浏览器中实现。 Javascript是获得任何广泛的浏览器兼容性的方法。

答案 1 :(得分:1)

没有跨浏览器实用的方法来定位选择器中的父元素,如果你绝对无法控制标记,最好的选择可能是使用JS。