行为,样式,结构三者分离(javascript, css, html),不要在行间加行为,样式

样式优先级:*<标签<class<ID<行间

style与className,如果先给了style行间样式,再给className不会有效果

<title>无标题文档</title>
<style>
#div1{width:200px;height:200px;border:1px solid #000;}
.box{background:#F00;}
</style>
<script>
function toRed(){
    var oDiv=document.getElementById('div1');
    oDiv.className='box';
    }
function toGreen(){
    var oDiv=document.getElementById('div1');
    oDiv.style.background='green';
    }
</script>
</head>

<body>
<input type="button" value="变红" onclick="toRed()"/>
<input type="button" value="变绿" onclick="toGreen()"/>
<div id="div1">
</div>
</body>

匿名函数   window.onload,在页面加载完成之后发生(执行) 这是btn1已经加载进来了

<title>无标题文档</title>
<script>
window.onload=function (){
var oBtn=document.getElementById('btn1');
oBtn.onclick=function (){
    alert('a');
    };
};
</script>
</head>

<body>
<input id="btn1" type="button" value="按钮"/>
</body>

对比代码如下:

<title>无标题文档</title>
</head>

<body>
<input id="btn1" type="button" value="按钮"/>
<script>
var oBtn=document.getElementById('btn1');
oBtn.onclick=function (){
    alert('a');
    };
</script>
</body>

图片上的代码运行没有预期的效果

posted on 2015-02-28 15:39  文森博客  阅读(113)  评论(0编辑  收藏  举报