2011-01-04 4 views

答えて

9
var objects = document.getElementsByTagName('object'); 
for (var i=0, n=objects.length;i<n;i++) objects[i].style.display='none'; 

更新。私が以前考えていたもので遊んでいます。 Fxでオブジェクトを扱うことができますが、divでIEで動作させることはできますが、IEで動作させることはできませんでした。オブジェクトのクラス名でも機能しませんでした。

<html> 
<head> 
<title></title> 
<style type="text/css"> 
object { 
    display:block; 
} 
</style> 
<script type="text/javascript"> 
// got some of this from http://www.javascriptkit.com/dhtmltutors/externalcss3.shtml 
function toggle() { 
    var mysheet=document.styleSheets[0] 
    var firstrule=mysheet.cssRules? mysheet.cssRules[0]: mysheet.rules[0] 
    firstrule.style.display=(firstrule.style.display=="block")?"none":"block" 
    return false 
} 

</script> 
</head> 
<body> 
<a href="#" onClick="return toggle()">toggle the objects</a><br /> 
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/tgbNymZ7vqY?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tgbNymZ7vqY?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object> 
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/VnT7pT6zCcA?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VnT7pT6zCcA?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object> 
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/PhMCa1_9FYg?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/PhMCa1_9FYg?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object> 
</body> 
</html> 
2

私はあなたがこのCSSルールのようなものでこれを行うことができます考える

html object { display: none; } 

の代わりに、JavaScriptの。

またはクラス+ javascriptの

html object.no-show { display: none; } 

を使用して、すべてのオブジェクトにクラスを適用するためにループを使用します。

または身体にクラスを切り替える:

html body.hide-object object { display: none; } 

これは無ループではJavaScriptを使用することです。

+1

オンデマンドではありませんが、そうですか?ループして各オブジェクトにclassNameを割り当てるのではなく、面白​​くない - 答えに追加したときのように) – mplungjan

+1

これは正しい。しかし、私はjavascriptで個々のスタイルのプロパティを切り替える上記のクラスを切り替えることをお勧めします。 –

+1

私が同意したのは、CSSを操作するための私の更新は、あなたが言ったことと、それが可能かどうか疑問に思ったことの組み合わせに過ぎませんでした。 style.displayを参照すると、それは私のルールの例外です;) – mplungjan

関連する問題