JS DOM学习笔记

时间:2021-07-18 03:00:08

1、window对象代表当前浏览器窗口

2、使用window对象的属性、方法的时候可以省略window。例如:window.alert("hello")一般写成alert("hello"); window.document一般写成document

3、window.setInterval(method, delay);//每过delay毫秒就调用一次method函数,相当于是计时器

4、window.clearInterval(name); //取消计时器name

//setInterval(method, delay)函数和clearInterval(name)演示

//每隔一秒弹出“hello"
var timer = setInterval(function(){ alert("hello"); }, 1000); //调用closeTimer方法停止timer计时器
function closeTimer(){
clearInterval(timer);
}

5、setTimeout(method, delay); //deay毫秒之后执行method函数,和setInterval的区别是setTimeout只执行一次,setInterval可以不断的执行无数次

6、onload(页面加载后触发):网页加载完毕时触发,浏览器是一边下载文档、一边解析执行,可能会出现JavaScript执行时需要操作某个元素,这个元素还没有加载,如果这样就要把操作的代码放到body的onload事件中,或者可以把JavaScript放到元素之后。元素的onload事件是元素自己加载完毕时触发,body onload才是全部加载完成。

window.onload = function () { //...... }  //动态注册事件,窗体加载完成后执行,和body onload效果差不多

7、window.控件Id(不建议使用),推荐document.getElementById("控件Id")来获取标签对象

8、事件:onclick(单击)、ondblclick(双击)、onkeydown(按键按下)、onkeypress(按下按键)、onkeyup(松开按键)、onmousedown(鼠标按下)、onmousemove(鼠标移动)、onmouseout(鼠标离开元素范围)、onmouseover(鼠标移动到元素范围)、onmouseup(鼠标按键释放)、oncontextmenu(在浏览器中单击鼠标右键显示‘右键菜单’时触发)

9、window.location对象: window.location.href = "*.html"; //重新导航到新页面,可以取值,也可以赋值

window.location.reload();  //刷新当前页

10、window.event是IE下非常重要的属性,用来获得发生事件时的信息,事件不局限于window对象的事件,所有元素的事件都可以通过event属性取得相关信息。

window.event.altKey属性:bool类型,表示事件发生时是否按下了alt键。类似的还有cltKey、shiftkey。

function TestClt(){
if (window.event.altKey){
alert("按下了alt键");
}
}

11、用document.createElement(name):创建标签。

var btn = document.createElement("input");    //创建一个input标签
btn.type = "button";//input标签类型为按钮
btn.value = "提交"; //设置按钮值
document.appendChild(btn); //将按钮添加到文档中
//js操作标签对象,给对象设置属性
var div1 = document.getElementById("div1");//获取一个标签对象
div1 .className = "bigDiv";//给标签设置类样式名
div1 .style.width = "200px";
div1 .style.height = "200px";//设置标签高度
div1 .style.backgroundColor = "red";//设置背景颜色
div1 .style.fontSize = "20px";//设置字体大小
div1 .style.marginTop = "10px";//设置上边距大小
div1 .onclick = function(){ //.... }//给标签设置单击事件
div1 .onmouseover = functioin () {} //给标签设置鼠标离开事件
div1.style.display = "block"; //设置显示
div1.style.top = "30px"; //设置顶部距离
div1.setAttribute("width", 100);//设置宽度 12、form表单onsubmit事件:在点击form表单提交按钮后,onsubmit事件会被触发,可以在onsubmit事件中进行一些数据校验,返回false可以取消提交

13、不同浏览器中对DOM支持的方法不一样

  • 获取网页中那个元素触发了事件,在IE中使用srcElement; 在FireFox里使用target
  • 使用Dom获取和更改网页标签元素内文本,在IE中使用innerText; 在FireFox里使用textContent
  • 动态为网页或元素绑定事件,在IE中绑定事件的方法是attachEvent; 在FireFox中绑定事件的方法是addEventListener
  • jQuery之类的框架进行了封装,解决了不同浏览器上Dom的不同

14、jQuery的ready和Dom的onload的区别:window.onload只能注册一次,是在所有的Dom元素创建完毕、图片、CSS都加载完毕后才被触发;而jQuery的ready则是在Dom元素创建完毕后被触发,这样可以提高网页的响应速度

15、js打印一个对象的所有属性:

//传入一个对象
function (swiper){
var msg = ""; for(var item in swiper) msg += item +" : "+swiper[item] + "\n"; alert("对象属性:\n" + msg);
}

JS DOM学习笔记的更多相关文章

  1. js再学习笔记

    #js再学习笔记 ##基本 1.js严格区分大小写   2.js末尾的分号可加,也可不加   3.六种数据类型(使用typeof来检验数据的类型) `typeof` - undefined: `var ...

  2. JS数组学习笔记

    原文:JS数组学习笔记 最近在备课数组,发现很多ES5的方法平时很少用到.细节比较多,自己做了大量例子和整理,希望对大家了解JavaScript中的Array有所帮助. 概念 数组是值的有序集合.每个 ...

  3. Knockout.js快速学习笔记

    原创纯手写快速学习笔记(对官方文档的二手理解),更推荐有时间的话读官方文档 框架简介(Knockout版本:3.4.1 ) Knockout(以下简称KO)是一个MVVM(Model-View-Vie ...

  4. 两万字Vue.js基础学习笔记

    Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Sp ...

  5. 两万字Vue.js基础学习笔记(二)

    Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTM ...

  6. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  7. JS&ES6学习笔记(持续更新)

    ES6学习笔记(2019.7.29) 目录 ES6学习笔记(2019.7.29) let和const let let 基本用法 let 不存在变量提升 暂时性死区 不允许重复声明 块级作用域 级作用域 ...

  8. Node.js API 学习笔记

    常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...

  9. Js replace() 学习笔记

    最近捣鼓着学习Js,发现replace()真的很有用,替换功能杠杠的棒. 接下来看看我遇到的问题: 有两个随机给出的字符串,字符串1'xxxxxx',字符串2'====T'(这两个用作示例,其他为随机 ...

随机推荐

  1. ASP.NET MVC Model验证(二)

    ASP.NET MVC Model验证(二) 前言 上篇内容演示了一个简单的Model验证示例,然后在文中提及到Model验证在MVC框架中默认所处的位置在哪?本篇就是来解决这个问题的,并且会描述一下 ...

  2. android小技巧(一)

      1,调web浏览器 Uri myBlogUri = Uri.parse("http://xxxxx.com"); returnIt = new Intent(Intent.AC ...

  3. Centos开机自启动redis

    修改redis.conf,打开后台运行选项: # By default Redis does not run as a daemon. Use 'yes' if you need it. # Note ...

  4. iOS的 context 和Android 中的 canvas

    ios 想要绘图,要用到CGContextRef类.最基本的用法是在- (void)drawRect:(CGRect)rect 函数中绘制. Android 中要用到Canvas类.最基本的用法是在  ...

  5. linux定时执行文件

     #!/bin/bashcurl "http://172.16.201.24:8080/?app_act=timer/automic_integral" -b -q -o /dev ...

  6. HDOJ 1391 Number Steps(打表DP)

    Problem Description Starting from point (0,0) on a plane, we have written all non-negative integers ...

  7. 反射Reflection创建

    step one:(找入口) using System.Reflection; //引用需要用到的命名空间 做任何事都要有开始的地方,不例外,反射也要先找到反射的入口,举个栗子: Assembly a ...

  8. 《java入门第一季》之面向对象this关键字

    /* 起名字要做到见名知意. this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁. this的场景: 解决局部变量隐藏成员变量 * ...

  9. PHP 多个构造函数

    class A { function __construct() { $a = func_get_args(); $i = func_num_args(); if (method_exists($th ...

  10. bzoj4337树的同构

    树是一种很常见的数据结构. 我们把N个点,N-1条边的连通无向图称为树. 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树. 对于两个树T1和T2,如果能够把树T1的所有点重 ...