相关疑难解决方法(0)

如何使用JavaScript getElementByClass而不是GetElementById?

我正在尝试根据每个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

88
推荐指数
3
解决办法
39万
查看次数

getElementByClassName不返回结果

getElementByClassName()没有返回任何结果,我把它设置为getElementById(),但我不能使用,Id因为相同的功能将需要应用于七个链接.我已经填写了有关jsFiddle的所有信息

javascript看起来像:

var myBoxWidth = 0;
var myBoxWidth2 = 0;

// show
function show() {
    var myBox = document.getElementByClassName('box');  
    var myContent = document.getElementByClassName('content');
    myContent.style.display = 'inline';
    myBox.style.width = myBoxWidth + '%';  
    if(myBoxWidth < 80) {  
        myBoxWidth += 20;
        setTimeout(show,55);
    }
}

// hide
function hide() {
    var myBox = document.getElementByClassName('box');
    var myContent = document.getElementByClassName('content');
    myContent.style.display = 'none';
    var currentWidthVal = parseInt(myBox.style.width,10);
    if(myBoxWidth2 < currentWidthVal) {  
        setTimeout(hide,55);
        myBox.style.width = currentWidthVal =  currentWidthVal - …
Run Code Online (Sandbox Code Playgroud)

javascript

2
推荐指数
1
解决办法
1016
查看次数