在document.getElementbyID中传递javascript变量

时间:2013-11-08 11:06:02

标签: javascript

我知道这是一个愚蠢的问题,但我无法获得所需的结果。我想在bck中分配一个javascript变量document.getElementById(bck)。一切正常,即警告显示正确的值变量bck,但当我在document.getElementbyID内使用它时,我收到以下错误:

document.getElementById(bck) is null

我用Google搜索并查看了相关主题,但没有任何帮助。 backdropcontent[m][1]的值为Reden,selectedbg的值为Reden。

     <script>
     for ( var m=0;m<backdropcontent.length;m++) {
     if(selectedbg==backdropcontent[m][1]){
     var bck=backdropcontent[m][1]+'div1';
     alert(bck);
     document.getElementById(bck).style.display = "block";
         document.getElementById(bck).style.top = "0px";

    }
  }
    </script>

html部分:

 <div class="mcdropdown" id="Redendiv1" style="display:none;position:relative">
                    <a  style="cursor: default !important">
                    <input type="text" name="reden1" id="reden1"  style="background-image: url('<?php echo $mosConfig_live_site; ?>/templates/performitor/images/123.png');background-repeat: no-repeat;height:14px;width:130px !important;color:#BDBDBD;border: 1px solid #8e9daa;" disabled="disabled" value="Totaal"  autocomplete="off"/>
                    </a>
                  </div>

请注意,我不想改变我的代码结构,所以请不要提出任何重大改变。

任何帮助都将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:0)

id backdropcontent [m] [1] +'div1'的元素不存在

答案 1 :(得分:0)

它主要是因为您的元素在页面上不存在而引发错误。将<script>块移到代码下方或使用window.onload event

window.onload = function(){
//your code
}

或者使用jquery:

$(document).ready(function() {
// your code
});

答案 2 :(得分:-3)

您使用以下模式中的代码

     <script>
     for ( var m=0;m<backdropcontent.length;m++) {
     if(selectedbg==backdropcontent[m][1]){
     var bck=backdropcontent[m][1]+'div1';
     alert(bck);
      document.getElementById("bck");.style.display = "block";
         document.getElementById(bck).style.top = "0px";

    }
  }
    </script>

可能是这段代码可以帮助你。