我正在尝试根据每个DIV的类别切换网站上某些DIV元素的可见性.我正在使用基本的JavaScript代码段来切换它们.问题是该脚本仅使用getElementById,因为getElementByClassJavaScript不支持.不幸的是,我必须使用class而不是id来命名DIV,因为DIV名称是由我的XSLT样式表使用某些类别名称动态生成的.
我知道某些浏览器现在支持getElementByClass,但由于Internet Explorer不支持,我不想走那条路.
我发现脚本使用函数来按类获取元素(例如本页#8:http://www.dustindiaz.com/top-ten-javascript/),但我无法弄清楚如何集成它们与我的切换脚本.
这是HTML代码.DIV本身缺失,因为它们是在使用XML/XSLT加载页面时生成的.
主要问题:如何获取以下Toggle脚本以获取逐个元素而不是按ID获取元素?
<html>
<head>
<!--This is the TOGGLE script-->
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
</head>
<!--the XML/XSLT page contents will be loaded here, with DIVs named by Class separating dozens of li's-->
<a href="#" onclick="toggle_visibility('class1');">Click here to toggle visibility of class 1 objects</a>
<a href="#" onclick="toggle_visibility('class2');">Click here to …Run Code Online (Sandbox Code Playgroud) javascript class getelementbyid toggle getelementsbyclassname
如果我有<div id="ad1" class="ad">
,
我
<div id="ad2" class="ad">
怎么能通过隐藏所有div与类广告来隐藏它们
我试过
document.getElementsByClassName(ad).style.visibility="hidden";
但只有这个有效
function hidestuff(boxid){
document.getElementById(boxid).style.visibility="hidden";
}
我定义了一个CSS类,调用它:
<style type="text/css">
.Foo { position: fixed; left: 50px; top: 50px; }
</style>
Run Code Online (Sandbox Code Playgroud)
我绝对在屏幕上放置一个元素的地方.在我的网页执行过程中,我创建并删除了许多元素并给它们上课Foo.当我调整浏览器的大小时,我想更改类上的left和top值,Foo以便在计算结果时更改所有 Foo元素的位置.
我不想简单地更改样式表,我想计算一个值,并使所有当前和未来的Foo元素都具有新的计算值left和top值.
这个网站有一个例子,但代码相当复杂. http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.html
是否有一种良好,干净的方式来基本上以编程方式改变Foo定义的内容?
谢谢!