获取事件源
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 οnclick="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="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="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="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 | 重置表单时 |