2009-11-24 157 views
2

我有一種感覺,這可能涉及某種先進的選擇器,但我可能是錯的。我有這個HTML工作:CSS選擇器:有沒有辦法選擇周圍的元素?

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

...我需要使DT和DD標籤隱藏的視圖。我可以在input標籤上申請一門課,但不能在其他標籤上申請。那麼我怎樣才能在DT/DD標籤上應用「隱藏」類風格呢?

回答

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

沒有跨瀏覽器實用的方法來定位其子選擇器中的父元素,如果您完全無法控制標記,則最好的辦法是使用JS。