一 表格案例

二 onchange事件(二级联动)

三 onmouse事件

四 事件委派

五  作用域链

一表格案例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <button class="selectAll">全选</button>
<button class="reverse">反选</button>
<button class="cancel">取消</button>
<hr>
<table border="">
<tr>
<td><input type="checkbox" class="check"></td>
<td>111</td>
<td>111</td>
</tr>
<tr>
<td><input type="checkbox" class="check"></td>
<td>111</td>
<td>111</td>
</tr>
<tr>
<td><input type="checkbox" class="check"></td>
<td>111</td>
<td>111</td>
</tr>
<tr>
<td><input type="checkbox" class="check"></td>
<td>111</td>
<td>111</td>
</tr>
</table> <script> // 方式1
var ele_selectAll=document.getElementsByClassName("selectAll")[0];
var ele_reverse=document.getElementsByClassName("reverse")[0];
var ele_cancel=document.getElementsByClassName("cancel")[0];
var ele_input=document.getElementsByClassName("check"); ele_selectAll.onclick=function () {
for(var i=0;i<ele_input.length;i++){
ele_input[i].checked="checked"
}
}; ele_cancel.onclick=function () {
for(var i=0;i<ele_input.length;i++){
ele_input[i].checked=""
}
}; ele_reverse.onclick=function () {
for(var i=0;i<ele_input.length;i++){
var ele=ele_input[i];
if(ele.checked){
ele.checked=""
}
else {
ele.checked="checked"
}
}
}; // 方式2 // var eles_button=document.getElementsByTagName("button");
// var ele_input=document.getElementsByClassName("check");
// for (var i=0;i<eles_button.length;i++){
// eles_button[i].onclick=function () {
// if(this.innerHTML=="全选"){
// for(var i=0;i<ele_input.length;i++){
// ele_input[i].checked="checked"
// }
// }
//
// else if (this.innerHTML=="取消"){
//
// }
//
// else {
//
// }
//
// }
// } </script>
</body>
</html>

table案例

二 onchange事件(二级联动)

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <form action=""> <select name="pro" id="s1">
<option value="">请输入省份</option>
<option value="hebei">河北省</option>
<option value="henan">河南省</option>
<option value="beijing">北京省</option>
</select> <select name="city" id="c1">
<option value="">请输入城市</option> </select> </form> <script> var arr=[1121,22,344];
var obj={"username":"Yuan","age":12}; // console.log(typeof arr);//object
// console.log(typeof obj);//object
// console.log(obj["username"]);//Yuan // for(var i in arr){
// console.log(arr[i]);//里面的数字
// console.log(i);//数组的索引
// };
//
for(var i in obj){
console.log(obj[i]);//相当于字典里的value
console.log(i);//相当于字典里的key
};
//
// var data={"hebei":["保定","石家庄"],"henan":["郑州","开封"],"beijing":["朝阳","昌平"]};
//
// var select_province=document.getElementById("s1");
// var select_city=document.getElementById("c1");
//
// select_province.onchange=function () {
// // console.log(this.value);
// var province=this.value;
// var citys=data[province];
// // console.log(citys);
//
// // 清空操作
// console.log(select_city.options.length);
// select_city.children.length=1;
//
// for(var i=0;i<citys.length;i++){
// var ele_option=document.createElement("option"); // <option></option>
// ele_option.innerHTML=citys[i]; // <option>郑州</option>
// ele_option.value=i+1; // <option value=1>郑州</option>
//
// select_city.appendChild(ele_option)
// }
// }
</script> </body>
</html>

二级联动

三 onmouse事件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title> <style>
.c1{
width: 200px;
height: 200px;
background-color: #0e90d2;
} .title{
background-color: goldenrod;
line-height: 30px;
}
.item{
line-height: 20px;
background-color: #cccccc; } .hide{
display: none;
} </style>
</head>
<body> <div class="c1"></div> <div class="box">
<div class="title">onmouseover</div>
<div class="con hide">
<div class="item"><a href="">111</a></div>
<div class="item"><a href="">222</a></div>
<div class="item"><a href="">333</a></div> </div>
</div>
<script>
// var ele=document.getElementsByClassName("c1")[0] // ele.onmouseover=function () {
// console.log(1234)
// };
//// ele.onmouseleave=function () {
//// console.log(666)
//// }
// ele.onmouseout=function () {
// console.log(888)
// } var ele_title=document.getElementsByClassName("title")[0];
var ele_box=document.getElementsByClassName("box")[0]; ele_title.onmouseover=function () {
this.nextElementSibling.classList.remove("hide")
};
ele_box.onmouseout=function () {
ele_title.nextElementSibling.classList.add("hide")
} ;
ele_box.onmouseleave=function () {
ele_title.nextElementSibling.classList.add("hide")
} // 1.不论鼠标指针离开被选元素还是任何子元素,都会触发 mouseout 事件。 // 2.只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。 </script>
</body>
</html>

onmouse事件

四 事件委派

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <ul>
<li>111</li>
<li>222</li>
<li>333</li> </ul> <button>Add</button> <script> var eles_li=document.getElementsByTagName("li");
var ele_btn=document.getElementsByTagName("button")[0];
var ele_ul=document.getElementsByTagName("ul")[0];
//// 添加li
ele_btn.onclick=function () {
var ele_li=document.createElement("li");
ele_li.innerHTML=444;
ele_ul.appendChild(ele_li)
};
//
// 绑定事件
// for(var i=0;i<eles_li.length;i++){
// eles_li[i].onclick=function () {
// alert(this.innerHTML)
// }
// } // 事件委派 ele_ul.addEventListener("click",function (e) {
// alert(123)
// console.log(e.target); // 标签
// console.log(e.target.tagName); // 标签名称
//
if(e.target.tagName=="LI"){
console.log(e.target.innerHTML)
}
}) </script>
</body>
</html>

事件委派

五  作用域链

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
var s=12;
function f(){
alert(s);//定义未赋值返回时undefind和无返回值的也是undefind//undefind
var s=12;//12因为在编译时有s但是不会问它的赋值情况。
alert(s);//12
}
f();//先编译在执行如果局部作用域没有赋值python中会报错;而js中出返回undefind
</script> </body>
</html>

Js作用域链

JS进阶1的更多相关文章

  1. 2. web前端开发分享-css,js进阶篇

    一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无从下手 ...

  2. 【 D3.js 进阶系列 】 进阶总结

    进阶系列的文章从去年10月开始写的,晃眼又是4个多月了,想在年前总结一下. 首先恭祝大家新年快乐.今年是羊年吧.前段时间和朋友聊天,聊到十二生肖里为什么没猫,我张口就道:不是因为十二生肖开会的时候猫迟 ...

  3. web前端开发分享-css,js进阶篇

    一,css进阶篇: 等css哪些事儿看了两三遍之后,需要对看过的知识综合应用,这时候需要大量的实践 经验, 简单的想法:把qq首页全屏另存为jpg然后通过ps工具切图结合css转换成html,有无 从 ...

  4. JS 进阶知识点及常考面试题

    将会学习到一些原理相关的知识,不会解释涉及到的知识点的作用及用法,如果大家对于这些内容还不怎么熟悉,推荐先去学习相关的知识点内容再来学习原理知识. 手写 call.apply 及 bind 函数 涉及 ...

  5. js进阶---12-11、jquery如何给动态创建出来的元素绑定事件

    js进阶---12-11.jquery如何给动态创建出来的元素绑定事件 一.总结 一句话总结:通过事件委托的方式,通过on方法 1.on方法在事件绑定的时候,data方式带额外参数时,字符串参数和其它 ...

  6. js进阶---12-12、jquery事件委托怎么使用

    js进阶---12-12.jquery事件委托怎么使用 一.总结 一句话总结:通过on方法(事件委托),给要绑定事件的元素的祖先绑定事件,从而达到效果. 1.事件委托是什么? 通过事件冒泡,让子元素绑 ...

  7. js进阶---12-10、jquery绑定事件和解绑事件是什么

    js进阶---12-10.jquery绑定事件和解绑事件是什么 一.总结 一句话总结:on和off. 1.jquery如何给元素绑定事件? on方法 22 $('#btn1').on('click', ...

  8. Node.js进阶篇-koa、钩子函数、websocket、嵌入式开发

    代码地址如下:http://www.demodashi.com/demo/12932.html 一.简介     koa是由Express原班人马打造的,致力于成为一个更小.更富有表现力.更健壮的We ...

  9. 【 D3.js 进阶系列 — 4.0 】 绘制箭头

    转自:http://www.ourd3js.com/wordpress/?p=660 [ D3.js 进阶系列 — 4.0 ] 绘制箭头 发表于2014/12/08 在 SVG 绘制区域中作图,在绘制 ...

  10. js进阶 14 jquery的ajax有哪些函数和事件(多练)

    js进阶 14 jquery的ajax有哪些函数和事件(多练) 一.总结 一句话总结:常用:load.ajax.post.get.getScript().getJSON().表单序列化,ajax事件这 ...

随机推荐

  1. IP白名单添加了当前IP,获取access_token时依然报出错误码40164的坑

    开发公众号网页时,想要调用微信API接口,令人无奈的是,想要调用各接口都需使用access_token,于是,获取access_token的征途开始了…… 1.开发者基本配置 (1) 公众平台官网登录 ...

  2. .13-浅析webpack源码之WatcherManager模块

    从模块流可以看出,这个NodeWatchFileSystem模块非常深,这里暂时不会深入到chokidar模块,有点太偏离本系列文章了,从WatcherManager开始讲解. 流程如图: 源码非常简 ...

  3. elasticsearch6.7 05. Document APIs(1)data replication model

    data replication model 本节首先简要介绍Elasticsearch的data replication model,然后详细描述以下CRUD api: 1.读写文档(Reading ...

  4. 性能监控(1)--linux下的top命令

    Linux下的监控工具 top命令 top命令能够实时显示系统中各个进程的资源占用情况,其输出信息分为两部分,前半部分为系统统计信息,后半部分是进程信息. 第一行是任务队列信息,它的结果等同于upti ...

  5. 通过Eureka自带REST API强行剔除失效服务

    1.确定需要强行剔除的服务 2.执行接口 方便复制: http://{ip}:{port}/eureka/apps/CONFIG-SERVER-TEST/tom:config-server-test: ...

  6. HDU4825(01字典树)

    Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others)Total S ...

  7. Node.js+Koa开发微信公众号个人笔记(二)响应事件

    微信公众号中的事件有订阅事件/扫码事件/点击事件/跳转链接事件等等,具体可以查阅文档. 这里来实现一下订阅事件,其他的事件的实现过程也都类似. 当有人订阅了公众号后,微信服务器会向我们的服务器推送一个 ...

  8. JS的防抖,节流,柯里化和反柯里化

    今天我们来搞一搞节流,防抖,柯里化和反柯里化吧,是不是一看这词就觉得哎哟wc,有点高大上啊.事实上,我们可以在不经意间用过他们但是你却不知道他们叫什么,没关系,相信看了今天的文章你会有一些收获的 节流 ...

  9. 你的BI应用处于什么阶段?解读Gartner BI成熟度模型

    文 | 帆软数据应用研究院 水手哥 本文出自:知乎专栏<帆软数据应用研究院>——数据干货&资讯集中地   无论国内还是国外,多数企业的BI和分析平台建设之路并不平坦:一是对自身的环 ...

  10. Angular基础(七) HTTP & Routing

    ​ 一.HTTP a)Angular提供了自己的HTTP库来调用外部API,为了能够在等待API响应的过程中继续与界面交互,采用异步HTTP请求的方式. b)Get请求,首先导入Http, Respo ...