2011-06-22 46 views
0

說,我有這樣的是否可以在某些瀏覽器中隱藏一個id元素?

<span id ="radiobuttonContainer"> Check to enable checkboxes: 
<input type="radio" name="cov-failed" value="cover" onclick="javascript:printoutCheckboxes('cover')"> 
Coverage     
<input type="radio" name="cov-failed" value="failed" onclick="javascript:printoutCheckboxes('failed')"> 
Failed</span> 

我不想在瀏覽器中顯示此「spanId」下面即9因爲這使得其IE < 8不能夠管理數據的很多更vizualizing定義的ID。我知道,你可以有不同勢JavaScript和CSS:根據瀏覽器的上課像這樣

<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="root/include/excanvas.min.js"></script><![endif]--> 

然後選擇顯示:「無」;

但是我想知道,除了這個單行之外,是否有兩個相同的.css文件包含完全相同的信息是否真的有問題?

難道我不能這樣做嗎?

<!--[if lte IE 8]>document.getElementById('radiobuttonContainer').style.display = 'none';<![endif]--> 
+0

爲什麼要通過js隱藏,而不僅僅是通過簡單的CSS來覆蓋'span#radiobuttonContainer {display:none; }' – knittl

+0

@knittl是的,這就是我的意思,我要快速複製和粘貼;)你是什麼意思,我應該在哪裏發佈這個,我知道你可以通過CSS來做到這一點,但我不想有2不同的.css文件。我可以做這樣的事嗎? <! - [if lte IE 8]> span#radiobuttonContainer {display:none; } ? =) – Adam

+0

隱藏在「更多可視化數據」這個短語之下的是什麼?如果這是oldIE不支持的JavaScript功能,請嗅探該功能,然後隱藏該元素。請注意,HTML仍然會被髮送和解析,所以隱藏它可能不夠,如果它確實會導致oldIE嚴重失敗。 –

回答

0

我想你一定能夠做這樣的事情:

<!--[if lte IE 8]><script type="text/javascript"> 
    document.getElementById('radiobuttonContainer').style.display = 'none'; 
</script><![endif]--> 

這是你的例子的方式合併。

+0

非常感謝,作品像一個魅力=) – Adam

+0

javascript始終可以禁用... – thescientist

+0

是的,我投了你的評論其實,但今天98%的瀏覽器啓用了JavaScript,所以,它實際上是一個真正的世界問題? – OverLex

4

你應該能夠將標籤包裝在條件註釋中。或者,由於內聯在頁面中的CSS優先於包含的CSS,因此您不必再包含第二個樣式表,只需爲該情況指定一個新的定義即可。即

<!--[if lte IE 8]> 
<style type="text/css"> 
#radiobuttonContainer{ 
    display = 'none'; 
}; 
<![endif]--> 

並且在你包含的CSS文件之後。

+1

剛纔寫完全一樣的東西。我很少能夠回答這個網站上的任何事情,而沒有人毆打我! :) – MrMisterMan

+0

謝謝你解決問題的所有其他方法,哪一個最好? ; P – Adam

+1

好吧,總是有可能禁用JavaScript,所以純粹的CSS方法是最可靠的。 – thescientist

1

如果您使用類似Modernizr的工具,則可以使用它來確定瀏覽器的功能。

如果有一個在IE8中不可用的特定功能,可以在樣式表中引用它,並在瀏覽器沒有該功能時隱藏該元素。

讓說的特點是HTML5畫布,所有你需要做的是一個行腳本以包括Modernizr的Javascript語言,您的網頁,然後你會做這樣的事情在你的CSS:

.nocanvas .radiobuttonContainer { 
    display:none; 
} 
相關問題