CSS选择器:有没有办法选择周围的元素?
问题描述:
我有一种感觉,这可能涉及某种先进的选择器,但我可能是错的。我有这个HTML工作:CSS选择器:有没有办法选择周围的元素?
<dt></dt>
<dd><input type="hidden" class="hidden"></dd>
...我需要使DT和DD标签隐藏的视图。我可以在input
标签上申请一门课,但不能在其他标签上申请。那么我怎样才能在DT/DD标签上应用“隐藏”类风格呢?
答
你不能以任何类型的跨浏览器的具体方式做到这一点。 jQuery的(或类似的JavaScript库)可以让你喜欢的东西做到这一点:
$("dd:has(input.classname)").each(function() {
$(this).hide().prev().hide();
});
或
$("input.classname").each(function() {
$(this).parent().hide().prev().hide();
});
注:很多jQuery的功能是围绕着利用先进的选择很多都是属于CSS3标准的一部分,但该标准仅在最现代的浏览器中部分实现。 JavaScript是任何一种广泛的浏览器兼容性的方式。
答
没有跨浏览器实用的方法来定位其子选择器中的父元素,如果您完全无法控制标记,则最好的办法是使用JS。