一、定时器

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="i1">
<input type="button" id="start" value="开始">
<input type="button" id="end" value="结束">
<script>
/*
定时器
知识点:清除定时器后,定时器的值不会改变
*/
var timeResh;
function foo() {
// 获取当前时间,并转换成字符串时间
var now = new Date();
nowStr = now.toLocaleString();
// 获取标签,并填入当前时间
var i1Ele = document.getElementById("i1");
i1Ele.value = nowStr;
}
// 获取star button 并设置监听
var starEle = document.getElementById("start");
starEle.onclick = function () {
foo();
// timeResh定时器, 没赋值默认为undefined ,再次点击start 按钮时,因为 timeResh不等于undefined所以,不会生成新的定时器
if(timeResh===undefined){
// 每1000毫秒,刷新一次
timeResh = setInterval(foo, 1000);
} } var endEle = document.getElementById("end");
endEle.onclick=function () {
// 清除定时器后,值不会发送变化,把值重新设置成undefined
clearInterval(timeResh);
timeResh = undefined;
} </script>
</body>
</html>

二、焦点

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="text" id="i1" value="俄罗斯套娃">
<input type="button" value="搜索">
<script>
/*
获取焦点:onfocus
失去焦点:onblur
*/
var i1Ele = document.getElementById("i1");
// 有焦点时,设置值为空
i1Ele.onfocus = function () {
i1Ele.value = ""
}
var i2Ele = document.getElementById("i2");
i1Ele.onblur = function () {
// 当input的内容为空时
if(!i1Ele.value.trim()) {
i1Ele.value = "俄罗斯套娃";
}
}
</script>
</body>
</html>

三、select联动

onchange    域的内容被改变

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<select name="" id="f1">
<option value="0">--请选择--</option>
<option value="1">江苏</option>
<option value="2">北京</option>
</select> <select name="" id="f2"> </select> <script>
/*
思路:
1、选择城市,获取数据
2、创建option标签
3、添加数据到option
4、将option标签加到select标签中
5、重新选择时,要清空之前添加的标签
*/
var data = {1: ["徐州", "常州", "无锡"], 2: ["东城", "沙河"]}
var f1Ele = document.getElementById("f1");
f1Ele.onchange = function () {
var area = data[this.value]; var f2Ele = document.getElementById("f2");
// 清空标签
f2Ele.innerHTML="";
for (var i = 0; i < area.length; i++){
var optEle = document.createElement("option");
optEle.innerText = area[i];
f2Ele.appendChild(optEle);
}
}
</script> </body>
</html>

javascript DOM练习的更多相关文章

  1. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  2. javascript DOM 操作 attribute 和 property 的区别

    javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...

  3. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...

  4. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

  5. javascript DOM操作之 querySelector,querySelectorAll

    javascript DOM操作之 querySelector,querySelectorAll

  6. javaScript DOM JQuery AJAX

    http://www.cnblogs.com/wupeiqi/articles/5369773.html 一 JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript ...

  7. JavaScript : DOM文档解析详解

    JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> ...

  8. JavaScript DOM 编程艺术(第2版)读书笔记(1)

    JavaScript 简史 JavaScript 是Netscape公司与Sun公司合作开发的.在 JavaScript 1.0发布时,Netscape Navigator主宰着浏览器市场.微软在推出 ...

  9. javascript DOM操作HTML文档

    文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...

  10. JavaScript DOM编程艺术学习笔记(一)

    嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...

随机推荐

  1. UVA 11400"Lighting System Design"

    传送门 错误思路 正解 AC代码 参考资料: [1]:https://www.cnblogs.com/Kiraa/p/5510757.html 题意: 现给你一套照明系统,这套照明系统共包含 n 种类 ...

  2. C# json 转 xml 字符串

    本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串 首先需要安装 Newtonsoft.Json 库,打开 VisualStudio 2019 新建一个 dotnet cor ...

  3. 2019前端学习路线心得-黑马程序员pink老师

    在规划之前先给大家分享几点心得哈: 1. 学习,特别是在线学习,是非常辛苦的事情,为了少走弯路, 所以一定要系统学习,多借鉴与前辈们总结出来的经验. 2. 不要相信任何说 一周掌握 css, 一周学完 ...

  4. You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.

    异常 You are using the runtime-only build of Vue where the template compiler is not available. Either ...

  5. FreeNOS学习2——操作系统是如何启动的

    The System Boot Process Explained:https://www.webopedia.com/DidYouKnow/Hardware_Software/BootProcess ...

  6. IAP升级

    一.IAP原理 1.在正常情况下,程序运行路流程: 和STM32类似,STM8内部闪存(FLASH)地址起始于 0x8000(STM32是0x08000000),一般情况下,程序文件就从此地 址开始写 ...

  7. 转载:通过监控Nginx日志来实时屏蔽高频恶意访问的IP

    通过监控Nginx日志来实时屏蔽高频恶意访问的IP   目前在我的VPS上主要通过两种方式来限制ip的访问次数. 通过Nginx的limit_req配置来限制同一ip在一分钟内的访问次数 通过Ngin ...

  8. 关于SAM和广义SAM

    关于SAM和广义SAM 不是教程 某些思考先记下来 SAM 终于学会了这个东西诶...... 一部分重要性质 确定一个重要事情,S构造出的SAM的一个重要性质是当且仅当对于S的任意一个后缀,可以从1号 ...

  9. 《美国纽约摄影学院摄影教材》PDF教材

        下载地址: 美国纽约摄影学院摄影教材(上册).pdf 美国纽约摄影学院摄影教材(下册).pdf 欢迎你到纽约摄影学院来,我们急切地等待着开课,你们也在 跃跃欲试了.那就让我们马上开始吧! 你已 ...

  10. Java网络编程——UDP聊天程序

    UDP简介 UDP协议的全称是用户数据报,在网络中它与TCP协议一样用于处理数据报.在OSI模型中,UDP位于第四层--传输层,处于IP协议额上一层.UDP有不提供数据报分组.组装以及不能对数据报排序 ...