【前端】DOM操作

目录

一、 属性

二、方法

三、DOM扩展


一、 属性

   1.返回节点名称 nodeName

    var ulList=document.querySelector('ul')

    var li=document.querySelector('.three')

    var ya=document.querySelector('.four')

    var btn=document.querySelector('button')

    var add=document.getElementsByClassName('btn')[0]

    console.log(ulList.nodeName);

  2. parentNode 返回当前节点的父节点

       Eg: console.log(ulList.parentNode.parentNode);

  3.返回所有子节点 childNodes 类数组  (几乎不用)

       Eg: console.log(ulList.childNodes);

  4.返回第一个子节点  firstChild

       Eg: console.log(ulList.firstChild);

    返回第一个子节点  firstElementChild

       Eg:console.log(ulList.firstElementChild);

   5.返回最后一个子节点 lastChild

        Eg: console.log(ulList.lastChild);

      返回最后一个子节点  lastElementChild

        Eg:console.log(ulList.lastElementChild);

    6.返回上一个节点 previousSibling

        Eg:console.log(li.previousSibling);

       返回上一个节点 previousElementSibling

        Eg:console.log(li.previousElementSibling);

    7.返回下一个节点 nextSibling

        Eg:console.log(li.nextSibling);

       返回下一个节点 nextElementSibling

        Eg:console.log(li.nextElementSibling);

二、方法

(一)

    1.判断是否有子节点 hasChildNodeS()  得到的是布尔值

        Eg: console.log(li.hasChildNodes());

     2.创建节点:

        document.createElement('节点名称')

        Eg: var newLi=document.createElement('li')

(二、添加)

     3.向当前节点末尾添加子节点

        appendChild()  父元素.appendChild(新节点)

         Eg: ulList.appendChild(newLi)

 btn.onclick=function(){

          // 1.创建li标签

          var newLi=document.createElement('li')

          newLi.innerHTML=Math.random()

          // 2.向ul添加li标签

          ulList.appendChild(newLi)

      }

      4.向指定位置添加

         insertBefore(新节点,参照节点)

 add.onclick=function(){

        // 1.创建li标签

          var newLi=document.createElement('li')

        // 1.1丰富li标签内容

          newLi.innerHTML=Math.round(Math.random())

        // 2.向ul添加li标签

        ulList.insertBefore(newLi,li)

(三、替换)

1.父元素.replaceChild( ) (新节点.替换节点)  接受俩个参数

var newL=document.createElement('li')

             newL.innerHTML="烤菠萝"

             ulList.replaceChild(newL,ya)

 2.删除 父元素.removeChild(子节点) 接受一个参数,要移除的节点

          Eg:  ulList.removeChild(li)

3.克隆 cloneNode(布尔值)  接受一个布尔值参数

    true克隆子节点  是深赋值

    flase不克隆子节点  默认是flase 是浅赋值

var newThree=li.cloneNode(true)

   ulList.appendChild(newThree)

三、DOM扩展

1.childElementCount( ):  返回子元素的个数

2.children:  返回元素子节点

3.firstElementChild( ):指向第一个子元素

4.lastElementChild( ):指向最后一个元素

5.nextElementSibling( ):指向下一个同辈元素

6.previousElementSibling( ):指向上一个同辈元素

7.innerHTML:可读写,获取或替换元素所有子节点

8.innerText:可读写,获取或替换元素所有文本

9.outerHTML:可读写,获取或替换元素所有子节点(包含自身)


四、Document类型:

1.属性: 

(1).获取html标签   document.documentElement

        Eg: var html = document.documentElement

           console.log(html);

     (2).获取body标签   document.body

        Eg:var body = document.body

          console.log(body);

     (3).设置或者获取title内容   document.title

        Eg:var title = document.title

          document.title = "大郎,该喝药了"

          console.log(title);

     (4).返回当前页面的网址    document.URL

        Eg:var URL = document.URL

          console.log(URL);

(5).返回当前文档的域名  document.domain

2.方法:

(1).查找元素

(2).文档写入: document.write( )

(3).创建元素: document.createElement( )

五、属性方法

1.设置属性setAttribute(属性名,属性值)

   为元素新增属性,或设置当前属性,接受俩个参数:属性名和值

2.获取元素属性 getAttribute(属性名)   获取元素属性,不存在则返回null

3.移除属性 removeAttribute(属性名)   删除元素属性

4. 点语法设置属性 只能体现标签本身有的属性

   setAttribute 设置属性 标签本身有的属性和自定义属性都可以体现

元素大小:

(1).Offset:

1. offsetLeft:获取元素左边框距离左边边缘距离

2. offsetTop:获取元素上边框距离上边缘距离

3. offsetHeight: 元素垂直方向所占空间

 height+padding+border(和子元素大小没有关系)

4.offsetWidth: 元素水平方向所占空间

width+padding+border(和子元素大小没有关系)

(2).Client:

1.clientHeight: 元素垂直方向所占空间 height+padding(和子元素大小没有关系)

2.clientWidth: 元素水平方向所占空间 width+padding(和子元素大小没有关系)

(3).Scroll:

      1.scrollHeight:  height+padding 子元素不大于父元素情况下和cliient相同,如果子元素大于父元素  大小为:子元素大小 padding+border+margin

      2.scrollWidth:   width+padding 子元素不大于父元素情况下和cliient相同,如果子元素大于父元素  大小为:子元素大小 padding+border+margin

和子元素大小有关系 当子元素超出父元素大小 : 

     scrollWidth  计算的是:子元素的width+padding+border+margin-left+父元素的border

     scrollHeight  计算的是:子元素的width+padding+border+margin-top+父元素的border

3.scrollLeft: 有滚动条的情况设置或者获取向左滚动的距离

4.scrollTop: 有滚动条的情况设置或者获取向上滚动的距离

(4).补充:

1).document.documentElement.clientWidth 可视窗口大小

2).页面之间如何传值:  a 标签  浏览器存储

         Eg: < a href="document.html?name=ss&age=24&like=eatrourou">document</ a>

(5). overflow: hidden 超出父元素的部分隐藏   应用:解决塌陷问题

      overflow: srcoll   超出父元素的部分隐藏可以滚动条显示

      overflow-x:hidden:x方向隐藏 y方向可以滚动条显示

      overflow-y:hidden:y方向隐藏 x方向可以滚动条显示

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羊️里个雲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值