所谓DOM,全称 Docuemnt Object Model 文档对象模型,毫无疑问,此时要操作对象,什么对象?文档对象
在文档中一切皆对象,比如html,body,div,p等等都看做对象,那么我们如何来点击某个盒子让它变色呢?
DOM 为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。目的其实就是为了能让js操作html元素而制定的一个规范。
HTML加载完毕,渲染引擎会在内存中把HTML文档,生成一个DOM树,getElementById是获取内中DOM上的元素节点。然后操作的时候修改的是该元素的属性。
整个html文档就是一个文档节点。所有的节点都是Object。
var oDiv1 = document.getElementById("box1"); //方式一:通过id获取单个标签
var oDiv2 = document.getElementsByTagName("div")[0]; //方式二:通过 标签名 获得 标签数组
var oDiv3 = document.getElementsByClassName("box")[0]; //方式三:通过 类名 获得 标签数组
JS是事件驱动为核心的一门语言
事件的三要素:事件源、事件、事件驱动程序。
比如,我用手去按开关,灯亮了。这件事情里,事件源是:手。事件是:按开关。事件驱动程序是:灯的开和关。
再比如,网页上弹出一个广告,我点击右上角的X
,广告就关闭了。这件事情里,事件源是:X
。事件是:onclick。事件驱动程序是:广告关闭了。
谁引发的后续事件,谁就是事件源。
总结如下:
事件驱动程序:对样式和html的操作。也就是DOM。
代码书写步骤如下:
(1)获取事件源:document.getElementById(“box”);
//类似与ios语言的UIButton *adBtn = [UIButton buttonWithType:UIButtonTypeCustom];
(2)绑定事件: 事件源box.事件onclick = function(){ 事件驱动程序 };
(3)书写事件驱动程序:关于DOM的操作
var oDiv = document.getElementById("box");
oDiv.onclick = function () {
alert("我是弹出的");
};
var oDiv = document.getElementById("box");
oDiv.onclick = fn; //注意,这里是fn
//单独定义函数
function fn() {
alert("我是弹出的内容");
};
<!--行内绑定-->
<div id="box" onclick="fn()"></div>
<script type="text/javascript">
function fn() {
alert("我是弹出的内容");
}
</script>
原文:https://www.cnblogs.com/zero1230/p/9960373.html