获取事件源

    var div = document.getElementById("box");
// var arr1 = document.getElementsByTagName('div');
// var arr2 = document.getElementsByClassName('div');//h5新增
// var arr3 = document.getElementsByName("")
// var arr4 = document.getElementsByTagNameNS()

绑定事件

匿名绑定
div.onclick = function () {
}
用函数名绑定
// div.onclick = function fn() {
// alert(2);
// };
// div.onclick = fn;
行内绑定
// <div onclick="fn()">aaa</div>

修改样式

div.onclick = function () {
div.style.width = "200px";
div.style.backgroundColor = "red";
div.className = "aaa”;
}

节点的访问关系

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>访问关系和操作</title>
</head>
<body>
<!--父节点-->
<!--<div class="box1">-->
<!--<div class="box2"></div>-->
<!--</div>-->
<!--<script>-->
<!--//节点的访问关系是以属性的方式存在的-->
<!--//1、box1是box2父节点-->
<!--var box2 = document.getElementsByClassName("box2")[0];-->
<!--console.log(box2.parentNode);-->
<!--</script>--> <!--兄弟节点-->
<!--<div class="box1">-->
<!--<div class="box2"></div>-->
<!--<div class="box3"></div>-->
<!--</div>-->
<!--<script>-->
<!--//节点的访问关系是以属性的方式存在的-->
<!--//1、box1是box2父节点-->
<!--var box2 = document.getElementsByClassName("box2")[0];-->
<!--console.log(box2.nextElementSibling);-->
<!--</script>--> <!--子节点-->
<div class="box1">
<div class="box2"></div>
<div class="box3"></div>
</div>
<script>
//节点的访问关系是以属性的方式存在的
//第一个子节点
var box2 = document.getElementsByClassName("box2")[0];
console.log(box2.parentNode.firstElementChild); //suoy子节点
console.log(box2.parentNode.childNodes);//有换行符
console.log(box2.parentNode.children);//过滤掉换行符
</script> </body>
</html>

dom节点的操作

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>dom节点的操作</title>
</head>
<body>
<div class="box1">
<div class="box2"></div>
<div class="box3"></div>
</div> <script>
//创建
var aaa = document.createElement("li");
console.log(aaa);
var bbb = document.createElement("a");
console.log(bbb); //添加
var box1 = document.getElementsByClassName("box1")[0];
box1.appendChild(aaa);
box1.insertBefore(bbb,aaa); //把bbb添加再aaa标签之前 //删除
box1.removeChild(bbb);
aaa.parentNode.removeChild(aaa);//自己删除自己 //克隆
var ccc = box1.cloneNode(); //浅克隆
var ddd = box1.cloneNode(true); //深克隆
console.log(ccc);
console.log(ddd);
</script>
</body>
</html>

dom节点属性操作

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>属性操作</title>
<script>
window.onload = function () { var eleNode = document.getElementsByTagName("img")[0];
//属性的获取(不会出现在标签当中)
//1、元素节点.属性;或者元素节点[属性]
eleNode.src="data:image/guohui.png";//修改属性
console.log(eleNode.src);
console.log(eleNode.tagName);
console.log(eleNode["title"]);
console.log(eleNode["className"]);
console.log(eleNode["alt"]);
//2、元素节点.方法();
//获取
console.log(eleNode.getAttribute("id"));
//设置
eleNode.setAttribute("id","nihao");
//删除
eleNode.removeAttribute("id");
}
</script>
</head>
<body>
<img src="data:image/logo.png" class="box" title="图片" id="aaa" alt="jd"/>
</body>
</html>

案例-图片跳转

<body>
<!--<a href="javascript">切换</a>-->
<!--<a href="#" style="margin: 10px; display: block;">切换</a>-->
<a href="http://www.baidu.com" style="margin: 10px; display: block;">切换</a>
<img id="img" src="data:image/slogen1.png" width="400px" >
<script>
//点击a连接,img图片切换(行内式)
var a = document.getElementsByTagName('a')[0];
var img = document.getElementById("img");
a.onclick = function () {
img.src = "image/slogen2.png"; //return false禁止a连接跳转(href路径)
return false;
}
</script>
</body>

案例-显示隐藏盒子

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>显示隐藏盒子</title>
<style type="text/css">
button {
margin: 10px;
}
div {
width: 200px;
height: 200px;
background: pink;
}
.show {
display: block;
}
.hide {
display: none;
}
</style>
</head>
<body>
<button id="btn">隐藏</button>
<div>
扯犊子。。。
</div> <script>
//点击按钮,隐藏盒子改变文字,再点击按钮显示处理
var btn=document.getElementById("btn");
var div = document.getElementsByTagName("div")[0];
btn.onclick = function () {
//先判断btn的innerhtml的属性值
if(this.innerHTML === "隐藏"){
div.className = "hide";
//修改文字(innerHTML)
btn.innerHTML = "显示";
}else{
div.className = "show";
btn.innerHTML = "隐藏";
}
} </script>
</body>
</html>

常用事件调用方法

事件名

说明

onclick

鼠标单击

ondblclick

鼠标双击

onkeyup

按下并释放键盘上的一个键时触发

onchange

文本内容或下拉菜单中的选项发生改变

onfocus

获得焦点,表示文本框等获得鼠标光标。

onblur

失去焦点,表示文本框等失去鼠标光标。

onmouseover

鼠标悬停,即鼠标停留在图片等的上方

onmouseout

鼠标移出,即离开图片等所在的区域

onload

网页文档加载事件

onunload

关闭网页时

onsubmit

表单提交事件

onreset

重置表单时

 
 
 
 
 
 
 
 

JavaScript-dom1的更多相关文章

  1. javaScript——DOM1级,DOM2级,DOM3级

    DOM0,DOM2,DOM3事件处理方式区别:http://www.qdfuns.com/notes/11861/e21736a0b15bceca0dc7f76d77c2fb5a.html JS中do ...

  2. JavaScript之Dom1|DOM2|DOM3之DOM1【节点层次】

    长文慎读. 导航: 1.节点层次 2.Node类型 3.Document类型 4.Element类型 5.Text类型 6.Comment类型 7.CDATASection类型 8.DocumentT ...

  3. javascript and dom1

    <script type="text/javascript"> //数组 var beatles=Array(4); var beatles=Array(); cons ...

  4. JavaScript Dom0 Dom1

    行为 样式 结构相分离的页面 JS        CSS       HTML DOM 0写法 <!DOCTYPE html> <html lang="en"&g ...

  5. 一步步学习javascript基础篇(8):细说事件

    终于学到事件了,不知道为何听到“事件”就有一种莫名的兴奋.可能是之前的那些知识点过于枯燥无味吧,说起事件感觉顿时高大上了.今天我们就来好好分析下这个高大上的东西. 可以说,如果没有事件我们的页面就只能 ...

  6. 【转】浅谈JavaScript、ES5、ES6

    什么是JavaScript JavaScript一种动态类型.弱类型.基于原型的客户端脚本语言,用来给HTML网页增加动态功能.(好吧,概念什么最讨厌了) 动态: 在运行时确定数据类型.变量使用之前不 ...

  7. 深入理解JavaScript系列:JavaScript的构成

    此篇文章不是干货类型,也算不上概念阐述,就是简单的进行一个思路上的整理. 要了解一样东西或者完成一件事情,首要的就是先要搞清楚他是什么.作为一个前端开发人员,JavaScript应该算作是最核心之一的 ...

  8. JavaScript和DOM的产生与发展

    首先本篇文章摘自:http://itbilu.com/javascript/js/Vyxodm_1g.html 非常感谢本篇文章的作者,他理清了我映像中混乱的DOM Level级别.让我知道了DOM0 ...

  9. Javascript高级程序设计——javascript简介

    1.Javascript简史 javascript诞生于1995年,是由网景公司的Brendan Eich开发的,最初的目的是在客户端处理一些输入验证操作,自此后成为常见浏览器的特色功能,如今用途已经 ...

  10. javascript笔记6-DOM

    DOM(文档对象模型)是针对HTML和XML文档的一个API.DOM描绘了一个层次化的节点树,允许程序员添加.修改页面的一部分. 节点层次:DOM可以将任何HTML或XML文档描绘成一个由多层次节点构 ...

随机推荐

  1. 用 HTML5+ payment方法支付宝支付遇到的坑

    用 HTML5+ payment方法碰到的第一个坑就是如果是支付宝的话签约那种支付方式. 因为 Dcloud的文档没有更新的原因你可以看到他们说的都是‘移动支付’,但是你去支付宝平台的时候看到的根本就 ...

  2. hdu 4715(打表)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4715 思路:先打个素数表,然后判断一下就可以了. #include<iostream> # ...

  3. ArcGIS GP应用-GP模型服务发布

    1.双击模型名称打开运行窗体 2.在图上交互和窗体中输入数据后,点击确定运行模型,查看运行结果 3.在当前模型“缓冲区分析”的目录树上,右击含有图形(点.线.面)的节点,点击添加至显示,显示图片 4. ...

  4. poj_3415 后缀数组+单调栈

    题目大意 定义字符串T的子串T(i, k)=TiTi+1...Ti+k-1, 1≤i≤i+k-1≤|T|. 给定两个字符串A和B,定义集合S为S = {(i, j, k) | k≥K, A(i, k) ...

  5. centos6.6-6.8的cobbler的kickstarts文件

    author:headsen chendate: 2018-07-10 19:14:39 1,普通的mbr版的kickstarts的配置文件: [root@cobbler-server ~]# cat ...

  6. Angular2+学习第3篇 基本知识-组件

    一.插值表达式 基本用法与ng1一样. 可以使用 Angular 内置的 json 管道,来显示对象信息,管道用来格式化数据 import { Component } from '@angular/c ...

  7. 2017 Multi-University Training Contest - Team 1—HDU6035

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6035 题意:一棵树有n个点,每个点有自己的颜色,任意两个不同的点可以组成一条路径.也就是说一共有n(n ...

  8. UIScreen(屏幕)、UIWindow(画框)、UIView(画布)、didFinishLaunchingWithOptions的概念

    //didFinishLaunchingWithOptions 方法:顾名思义.在app开始运行时会调用里面的方法.- (BOOL)application:(UIApplication *)appli ...

  9. ASP.NET Identity 2集成到MVC5项目--笔记01

    Identiry2是微软推出的Identity的升级版本,较之上一个版本更加易于扩展,总之更好用.如果需要具体细节.网上具体参考Identity2源代码下载 参考文章 在项目中,是不太想直接把这一堆堆 ...

  10. bootloader,kernel,initrc

    http://www.ibm.com/developerworks/cn/linux/l-k26initrd/index.html http://www.68idc.cn/help/server/li ...