Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getElementByClassName未返回结果_Javascript - Fatal编程技术网

Javascript getElementByClassName未返回结果

Javascript getElementByClassName未返回结果,javascript,Javascript,我的getElementByClassName()没有返回任何结果,我将其设置为getElementById(),但我不能使用Id,因为相同的函数需要应用于七个链接。我已经填好了有关的所有信息 javascript看起来像: var myBoxWidth = 0; var myBoxWidth2 = 0; // show function show() { var myBox = document.getElementByClassName('box'); var myCo

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

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 - 20 + '%';
        myBoxWidth = 0;
    }
}
var myBoxWidth=0;
var myBoxWidth2=0;
//展示
函数show(){
var myBox=document.getElementByClassName('box');
var myContent=document.getElementByClassName('content');
myContent.style.display='inline';
myBox.style.width=myBoxWidth+'%';
如果(myBoxWidth<80){
myBoxWidth+=20;
设置超时(显示,55);
}
}
//隐藏
函数hide(){
var myBox=document.getElementByClassName('box');
var myContent=document.getElementByClassName('content');
myContent.style.display='none';
var currentWidthVal=parseInt(myBox.style.width,10);
如果(myBoxWidth2
没有这样的
getElementByClassName()
。试一试

更新
document.getElementsByClassName(“..”)
返回一组元素,而编写代码时希望返回单个元素。你可以把那部分改成

var myContent = document.getElementsByClassName('content');

var num = myContent.length;

for(var x=0; x < num; x++){
    myContent[x].style.display = 'block'; //or whatever style you've in your original code 
}
var myContent=document.getElementsByClassName('content');
var num=myContent.length;
对于(变量x=0;x
它是getElementsByClassName而不是getElementByClassName。我还建议使用jQuery或某种js框架。

GetElementsByCassName
返回类似于
NodeList
/
HTMLCollection
的数组。只是好奇。。。为什么不使用jQuery?这是针对一个必须专门使用JavaScript的特定项目,或者我会使用jQuery,jQuery更适合我。请注意,
getElementsByClassName()
,顾名思义,它返回的是元素列表,而不是单个元素。这是因为类与ID不同,不是唯一的。好吧,那么这必须应用于数组?是否可以在数组中设置页面内容并以这种方式提取信息?您必须迭代
getElementsByClassName()
返回的列表。我假设您可以采用以下形式:)如果您想使用第一个找到的元素,那么您可能可以使用
var myContent=document.getElementByClassName('content')[0]我对使用getElementsByClassName()有点陌生,你说的迭代是什么意思,我到处都能看到,没有任何expamples,我仍然不知道如何包括类框