webapi 学习笔记1 概念 和 DOM

JavaScript基础略,JS借鉴了C,Java等语言的语法,而python借鉴了JS的语法

JS三部分:ECMAScript语法、DOM、BOM


1. 术语

DOM:Document Object Model

BOM:Browser Object Model


2. DOM构成

由文档及文档中的所有的元素(标签)组成的一个树形结构图,叫树状图(DOM树)

document:文档

root:根节点。例如html标签

node:节点。页面中所有的内容都是node:标签、属性、文本

element:元素。页面中所有的标签都是元素,元素可以看成是对象


3. DOM基础 和 onclick事件

3.1 设置标签的属性值

点击按钮显示一张图片,并改变原始图片尺寸


3.2 设置成对标签之间的文本内容

点击按钮修改p标签里的内容


3.3 同时设置双标签的 属性 和 内容

点击按钮,修改超链接


3.4 批量修改同名标签里的内容

简单批量修改


根据id选择修改

PS:

getElementsByTagName返回的是一个伪数组,遍历数组方法同数组


3.5 批量修改同名标签的某种类型的值

点击按钮,批量修改文本框中的值


3.6 在对象本身的事件中,修改自己的属性

在对象本身的事件中,修改自己的属性,除了使用对象名,还可以使用this

点击按钮,将点击的按钮切换成文本框


3.7 按钮的排它性(实现banner轮播按钮效果)

按钮轮播效果


*3.8 实现图片放大效果

一般网站实现点击图片后放大图片,能点浏览器的回退按钮回到点击图片之前的页面


3.9 单属性规律

在表单中,如果属性和值只有一个,并且值是这个属性本身,那么在写js代码,DOM操作的时候,这个属性值,赋予true/false就可以了

这些属性有:

checked,selected,disabled,readonly等等


3.10 外部引用js代码 和 css样式的设置方法

点击div,改变div的样式


3.11 div的显示/隐藏 通过类样式来实现

在js代码中DOM操作的时候,设置元素的类样式,不用class关键字,应该使用className

点击按钮,切换div的显示和隐藏


3.12 禁用超链接的默认跳转

a连接点击之后默认有onclick跳转超链接,现在改成不跳转超链接,而弹出框显示超链接内容

只需要在a标签的onclick中return false


另一种写法:

css与js代码混搭


3.13 简单相册:点击小图,不跳转显示大图

代码略长。提示:使用嵌套ul结构显示相册缩略图


3.14 根据name属性获取元素对象:getElementsByName

获取到的值也是一个伪数组,同getElementsByTagName使用方式相同,都需要遍历

代码略


3.15 根据类名选择器 获取元素对象:getElementsByClassName(H5才支持)

获取到的值也是一个伪数组,同getElementsByTagName、getElementsByName使用方式相同,都需要遍历


3.16 总结获取元素对象的方法

document.querySelector("#btn"); // id选择器

document.querySelectorAll(".cls"); // 类名选择器



4. onmouseover和onmouseout事件

onmouseover:鼠标进入

onmouseout:鼠标移开

4.1 鼠标进入设置高亮显示手型,鼠标离开恢复原色显示指针


4.2 二维码的显示和离开



5. 焦点事件

onfocus:获取焦点事件

onblur:失去焦点事件

5.1 模拟搜索框



6. 兼容性处理

中小公司内部项目不需要做兼容性,大家统一浏览器。

6.1 innerText 与 textContent

6.2 innerText 与 innerHtml



7. 自定义属性

自定义属性,可以自己存储一些数据,用于渲染后的页面的后续操作处理

7.1 获取自定义属性 getAttribute

实现点击li,获取每个li中自定义的属性值

错误的获取方式:

错误的获取方式
错误获取方式的结果

上面this.data的this是通过DOM方式获取的对象,这个对象在DOM树中是没有data这个属性的。

也可以理解成,标准的li标签是没有data这个属性的

但是用户自定义了一个属性,这个属性不存在于DOM树的Node中,只能通过this.getAttribute("data")来获取


正确的获取方式:

正确的代码
期望的结果


7.2 设置自定义属性:setAttribute()

例子略


7.3 移除自定义属性



8. 节点操作(Node)

Node节点包括:标签、属性、文本(页面中的除了标签和属性之外的文字,换行、空格)

通过上面DOM的操作获取元素的方式不能做到下面的需求

想获取div下的所有元素的信息

除非给每个元素加id,否则因该用节点的方式来获取元素


8.1 12行代码!

12行代码

总结:

1. 凡是获取Node的代码在谷歌和火狐得到的都是  相关的Node

2. 凡是获取Element的代码在谷歌和火狐得到的都是  相关的element

3. 从子节点和兄弟节点开始,凡是获取Node的代码在IE8中得到的是element,获取element的相关代码,在IE8中得到的是undefined----元素的代码,iE中不支持


调试验证:

布局例子


得到元素节点中多个属性的指定属性节点:

getAttributeNode("id")



9. 创建元素

元素创建三种方式:

1. document.write("标签的代码及内容");

缺陷:如果是在页面加载完毕后,此时通过这种方式创建元素,那么页面上存在的所有的内容全部被干掉


2. obj.innerHTML = "标签及代码";


3. document.createElement("标签名字");


10. 事件绑定、解绑

10.1 事件绑定的区别


10.2 事件解绑

onclick = null

removeEventListener


11. 事件冒泡 和 阻止事件冒泡

多个元素嵌套,有层次关系,这些元素都注册了相同的事件,如果里面的元素事件触发,外面元素的该事件自动触发


阻止:window.event.cancelBubble=true;


12 事件三个阶段

1. 事件捕获阶段:从外向内

2. 事件目标阶段

3. 事件冒泡阶段:从里向外


13. 为同一个元素绑定多个不同的事件,指向相同的事件处理函数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容