博客列表 >dom(Document Object Model )初

dom(Document Object Model )初

南瓜又个梦
南瓜又个梦原创
2021年06月20日 18:27:15504浏览

1,获取元素的api有哪些
哪些是针对于IE

  1. window.id
  2. documen.getElementById('id')
  3. document.getElementsByTagName('id')
  4. document.getElementsByClassName('id')[0]
  5. /*以上三行针对于IE*/
  6. documenr.querySelector('#id')
  7. document.querySelectorAll('.id')[0]

  • (1)创建一个标签节点
    1. let div=document.createElement('div')
    2. document.createElement('style')
    3. document.createEmlement('li')
    4. document.createElement('script')
    (2)创建一个文本节点
    1. text1=document.createTextNode('hi')
    (3)将文本插入标签
    1. div.appendChild(text1)
    2. div.innertext('hi')
    3. div.textContent('hi')
    (4)将标签加入页面(目前所创建的标签在JS线程中,要把它加入页面)
    1. document.body.appendChild('div')
    2. ('已在元素').appendChild('div')
    一个元素不能同时出现在两个地方,除非克隆一份

  • 两种方法
    1. parentNode.childChild('child')
    2. //以前版本
    3. childNode.remove('child')
    4. //现在
    把元素移除不等于删除,移除可以添加回来,如果想删除,就在移除后将节点设置为NULL浏览器就会自动的回收就真的删除了。

  • (1)改class
    1. div.className='ni'//全覆盖
    2. div.classList.add('ni')
    (2)改style
    1. div.style='width:50px;height:10px'//全覆盖
    2. div.style.width=550px;
    (3)在css中,改带有横杠的属性时,不要横杠将横杠后面的字母大写。
    1. background-color=>backgroundColor
    (4)改事件处理函数
    div.onclick()事件的默认值是为null
    1. <div id='div'></div>
    2. /*=========是JS函数=====*/
    3. div.onclick = function(){
    4. console.log(this)
    5. console.log(arguments[0])
    6. }
    this指的是ID为div的这个元素,argument[]这个数组存放了这个元素的事件
    (5)改文本内容
    1. div.innerText='xxx'
    2. div.contenText='xxx'
    (6)改HTML内容
    1. div.innerHTML='<span>hi</span>'
    (7)改标签
    先清空在添加
    1. div.innerHTMl=''
    2. div.appendChild('div2)
    (8)改爸爸
    1. newParent.appendChild(div)

  • 查爸爸
    1. node.parentNode()
    2. node.parentElement()
    查爷爷
    1. node.parentNode.parentNode()
    查兄弟
    1. node.parentNode.childNode()
    2. node.parent.Childrent()
    要遍历兄弟姐妹把自己排出去
    查子代
    1. node.childNode()
    2. node.children()

查看老大

  1. node.fristChild()

查看老幺

  1. node.lastChild()

查看上一个姐姐/哥哥

  1. node.previosSibling()

查看弟弟、妹妹

  1. node.lastSibling()

遍历一个div里的所有元素

  1. travle=(node,fn)=>{
  2. fn(node)
  3. if(node.childen){
  4. for(let i=0;i<node.childen.length;i++){
  5. travle(node.childen[i],fn)
  6. }
  7. }
  8. }
  9. travle(node,node=>{console.log(node)})

2,获取后的数据类型是,对象,所以会有原型,一个div除开自身的属性有六层的原型链;每一层原型都会添加一些属性。
div原型
3,节点和元素分别是什么
看某个元素的节点类型是什么

  1. x.nodeType
  • 这个能返回一个数字,这个数字会代表这个节点的数据类型。
    • 1:表示Element
    • 3:Text
    • 8:表示注释comment
    • 9:表示Document
    • 11:表示文档片段DocumentFragment

4,document.all是第6歌falsy值
5,dom操作是夸线程的
dom操作是夸线程的
(1)非标准属性是不会同步更新的,要以’data-‘为开头命名才会自动更新的。
6,porperty VS Attribute
porperty是JS线程里的属性
Attribute是渲染引擎里的属性
大部分情况下他们相等,但是attribute是只支持字符串,单数property支持字符串,布尔等类型。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议