if和else声明id和class来改变保证金

时间:2014-06-11 11:40:03

标签: javascript html

我试图修复我的javascript / for(if语句)我试图制作如果getElementsByid(' box')on href else改变了类"" bg到margin的样式-top:10px

HTML代码

<a href="#" id="box">click</a>

<div class="bg">Test</div>

<style>
.bg{
margin-top:100px; 
}
</style>

脚本

function Element(id) { 
    if( document.getElementById('box') {
      document.getElementById('box').style.display = 'block';
    } else { 
      document.getElementsByClassName('bg').style.marginTop:'10px'; 
    }  }

2 个答案:

答案 0 :(得分:0)

document.getElementsByClassName(cname)返回一个数组,这样你就没有做正确的事。

document.getElementsByClassName('bg')[index].style.marginTop

其中index是数字

<强> HTML

<a href="#" id="box">click</a>

<div class="bg">Test</div>

<强> JAVASCRIPT

function element(id, index){
    if( index === null ){
        document.getElementById(id).style.display = 'block';
    }else{
        document.getElementsByClassName(id)[index].style.marginTop = '10px';
    }
}

element('bg', 0);

<强> Fiddle to answer here

答案 1 :(得分:0)

不幸的是我不能评论帖子,所以我只想注意@Hawk的帖子。 'bg'不是ID,而是一个类。所以我猜正确的方法是

function element(id, elClass, index){
    if( index === null ){
        document.getElementById(id).style.display = 'block';
    }else{
        document.getElementsByClassName(elClass)[index].style.marginTop = '10px';
    }
}

element('box', 'bg', 0);