按ID获取div并应用内联样式

时间:2013-08-14 12:49:15

标签: javascript

我有id="playerViewer"的div。

在某些情况下我想改变这个div的样式,我试着这样做:

  if (include(urlarr, listen)) {
        //$('#playerViewer').css('position', 'fixed').css('top', '5px').css('right', '100px'); I Don't want to use Jquery
        document.getElementById("playerViewer").style.position="fixed";
        document.getElementById("playerViewer").style.top="5px";
        document.getElementById("playerViewer").style.right="100px";
        alert("No alert showing up, even though the function is true");
};

在我的控制台中,我得到了:

 Uncaught TypeError: Cannot read property 'style' of null

所以我猜我正在使用getElementById错误 - 有人能指出我正确的方向吗?

HTML:

<div id="playerViewer">
    <div id="defaultVideocontainer">
        <div id="defaultVideopart">
        <video id='dago_video' class='jwplayer dago-video'  width='480' height='360' controls ></video>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

你可以访问一个div没有什么东西可以通过css隐藏它(例如display:none)。

您可以尝试在页面加载时执行代码:

window.onload = function() {
  if (include(urlarr, listen)) {
        document.getElementById("playerViewer").style.position="fixed";
        document.getElementById("playerViewer").style.top="5px";
        document.getElementById("playerViewer").style.right="100px";
  };
}

如果之前执行过,则尚未创建div /无法访问。