JavaScript无法处理页面加载

时间:2014-02-08 11:08:05

标签: javascript html

我正在使用html页面,现在我正在尝试将div样式重写为另一种样式,它看起来像<div class="fs-stretcher" style="width: 1170px; height: 480px;"></div>。因为我正在使用像这样的java脚本

<script>
    window.onload=document.getElementsByClassName('fs-stretcher')[0].setAttribute("style","width: 0px; height: 0px; background-color: yellow;")
    </script>

但它不起作用,请帮我解决这个问题。

3 个答案:

答案 0 :(得分:3)

您必须为window.onload分配函数引用。

window.onload = function () {
    document.getElementsByClassName('fs-stretcher')[0].setAttribute("style", "width: 0px; height: 0px; background-color: yellow;")
};

您的代码正在执行语句document.getElementsByClassName....并将setAttribute返回的值分配给onload

答案 1 :(得分:0)

在div之后放置脚本的另一种方法。

<html>
<head>
</head>
<body>
<div class="fs-stretcher" style="width: 1170px; height: 480px;">adv</div>
<script>
    window.onload = document.getElementsByClassName('fs-stretcher')[0].setAttribute("style", "width: 100px; height: 100px; background-color: yellow;")
</script>
</body>
</html>

这也可行。但是,如果您使用window.onload =function(){-----}作为上述答案的最佳方式是Arun P johny

答案 2 :(得分:0)

window onload是一个函数,你需要将一个函数绑定到这个事件。

所以试试:

window.onload = function () {
    document.getElementsByClassName('fs-stretcher')[0].setAttribute("style", "width: 0px; height: 0px; background-color: yellow;")
};

或者您可以创建一个功能

function setElementOnLoad() {
    document.getElementsByClassName('fs-stretcher')[0].setAttribute("style", "width: 0px; height: 0px; background-color: yellow;")
};

并将其绑定到body标签的onload:

<body onload="setElementOnLoad()">