我的DOM BOM待续

  1. 浏览器提供的接口web api,页面交互。

  2. DOM:文档对象模型,页面的接口,可以改变页面内容。

  3. 获取元素方法:id class 标签 父元素(获取来伪数组不能作为元素) h5:(querySelector)返回选择的第一个元素对象(‘.box’)(’#box)('标签’),querySelectorAll可以选择所有。

  4. 获取特殊元素:document.body(body) ; document.documentElement(html)。

  5. 获取属性值:元素.属性, 2.元素.getAttribute('属性‘)’自己创建的

  6. 事件

  7. 事件三要素:事件源(绑定),事件类型(滑动还是点击),事件处理程序(函数赋值)。btn.οnclick=function(){};

  8. 操作元素-修改元素的内容:innerText :不识别html标签,去除空格和换行。innerHTML :可以识别html标签,保留代码里的空格和换行。两者都是可读写。主流使用innerHTML.

  9. 修改表单属性:修改表单里面的内容不能用innerHTML.了,应使用value,2.disabled:可以禁用某个表单如按钮只能被点击一次。disabled:ture或者false。在函数里可以直接用this调用,如this.disabled=ture;

  10. 修改样式属性:属性采用驼峰命名法(div.style.bgcColor=‘red’)这里注意驼峰名,属性值用引号。并且其修改后的权重为行内style。

  11. .循环精灵图:方法:先获取所有的li,然后for循环遍历,接着让索引号乘以图片之间的距离返回给一个新的变量,最后利用style更改背景样式,注意所赋值要用引引++;(为什么要用yy++,因为返回值都要加引号,且新变量加了引号为字符串,不是一个变量了)

  12. className:利用style更改多个属性繁琐,所以出现className,其根本是给标签添加一个class,这样就可以在css中写完,直接在js中引用,如果原标签有一个class,那就要在添加过程中(this.className=‘firest second’)把原类名也要加入中间加个空格,否则会覆盖掉原来的class。
    12. 注意在表单input中改变里面的内容只能用value,不能用innerHTML。仅限表单input标签。

  13. 排他算法:顾名思义,把其他样式全干掉,只保留自己的。要用到双重for循环,首先获取元素,注意这里获得为伪数组,接着利用for循环进行遍历,再利用for循环把其他属性干掉,然后保留自己。

  14. 节点1.节点类型、名称、节点值。

  15. 获得父元素节点:parentNode;子元素节点children。子元素里面第几个ul.children[ul.children.length-1];

  16. 创建节点,添加节点:三种创建元素的区别:document.write()会造成文档流重绘 2. innerHTML用数组形式拼接然后用JOIN转回字符串,结构复杂运行最快。 3. createElement()结构清晰,效率稍慢。

    1. 阻止链接跳转,href=javascript:;
  17. 增:1. appendChild 后添加2. inserBefore前添加

  18. 删除节点removeChild

  19. 改:主要修改dom的属性,元素内容,属性,表单等。拿到就获取,修改就直接赋值。

  20. 查:dom提供api:getElementById、不建议使用等。 2. h5新方法:querySelector、querySelectorAll。提倡,。3.利用节点操作:父(parentNode),子(children)、兄(previousElenmentString、nextElenmentString)、提倡

  21. 属性操作:自定义属性:setAttribute:设置dom的属性值 2. getAttribute:得到dom的属性值, 3. removeAttribute:移除属性

  22. 数件处理(监听器)方法addEventListener(事件类型要加引号,监听函数 )普通事件绑定后面会覆盖前面,监听绑定可以一次执行。

  23. 解绑事件:null ,removeEventListener(事件类型,函数名)这里函数要单独写出来

  24. dom事件流:扔石头进水:到水底过程为捕获阶段,到底为目标阶段,冒气泡为冒泡阶段

  25. 事件对象:就是在函数里面形参为e,

  26. 事件属性:e.target点哪个就返回那个,this返回绑定的元素

  27. 阻止冒泡:e。stopPropagation()

  28. 事件委托(代理,委派):原理给父节点设置监听,不设置子节点。利用冒泡影响子节点

  29. 点击切换两个图片:只需添加一个变量设置1,然后用if ,else if判断。

  30. 类似于点击设置背景图,核心是img里面的src等于图片的this.href.

  31. 定义的全局变量都属于window的属性,如果用关键字或者保留字定义,会出现一些问题,如name=123,显示123为字符串

  32. 倒计时设置为匿名函数是因为可以提前执行,防止刷新页面卡顿。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值