Javascript цикл, чтобы скрыть все флеш - PullRequest
3 голосов
/ 04 января 2011

Как сделать так, чтобы цикл JavaScript оставил все <object> элементы и скрыл их?

Ответы [ 2 ]

9 голосов
/ 04 января 2011
var objects = document.getElementsByTagName('object');
for (var i=0, n=objects.length;i<n;i++) objects[i].style.display='none';

Обновление.Играя с чем-то, о чем я думал раньше.Он работает в Fx с объектом, но хотя я мог заставить его работать в IE с divs, я не мог заставить его работать в 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 голосов
/ 04 января 2011

I думаю вы можете сделать это с помощью следующего правила css:

html object { display: none; }

вместо javascript.

или используйте класс + javascript

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

и используйте цикл, чтобы применить класс ко всем объектам.

или переключить класс на тело:

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

это с javascript без цикла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...