JavaScript基礎(chǔ)-5

一:DOM節(jié)點(diǎn)操作

  • 創(chuàng)建節(jié)點(diǎn)
    • var li = document.createElement("li");
  • 插入節(jié)點(diǎn)、添加
    • 1.appendChild();在最后面添加一個(gè)孩子
    • 2.insertBefore(a,b);添加到前面,必須寫(xiě)滿兩個(gè)參數(shù)
      參數(shù)a:要添加的節(jié)點(diǎn)
      參數(shù)b:參照的節(jié)點(diǎn)(b參數(shù)如果為null那么放在最后一個(gè))
  • 刪除節(jié)點(diǎn)(父親刪除孩子)
    • removeChild()
    • 注意點(diǎn):必須是兒子元素,如果刪除孫子及以下,那么會(huì)報(bào)錯(cuò)
  • 克隆節(jié)點(diǎn)
    • cloneNode()
      • 參數(shù)傳true為深復(fù)制【里面的元素也復(fù)制】
      • 參數(shù)傳false為潛復(fù)制【只復(fù)制本節(jié)點(diǎn)】
      • 默認(rèn)為潛復(fù)制

二:節(jié)點(diǎn)操作(父、子、兄)

  • 定義:就是各個(gè)節(jié)點(diǎn)的相互關(guān)系

  • 特點(diǎn):DOM節(jié)點(diǎn)不是孤立的

  • “掌握”父節(jié)點(diǎn)(必須是親的)【parentNode】

    • 案例:關(guān)閉二維碼
  • 所有子節(jié)點(diǎn)(必須是親的)

    • childNodes(嫡出)選出全部的“親”孩子
      • 1.它是標(biāo)準(zhǔn)屬性,他返回指定元素的子元素集合,包括HTML節(jié)點(diǎn)、text節(jié)點(diǎn)(空格)
      • 2.火狐、谷歌等高版本會(huì)把換行也看做是子節(jié)點(diǎn)
      • 3.nodeType == 1時(shí),才是子元素節(jié)點(diǎn)(過(guò)濾掉空格)【案例】
    • “掌握”children(庶出):選取所有的孩子(只有元素節(jié)點(diǎn))
      • 1.沒(méi)有兼容性問(wèn)題
      • 2.工作中就用它
      • 注意:在ie7、8中有可能包含注釋節(jié)點(diǎn)[工作中盡量避免即可]
  • 子節(jié)點(diǎn):第一個(gè)孩子(必須是親的)

    • firstChild第一個(gè)孩子(ie6、7、8認(rèn)識(shí))
    • firstElementChild第一個(gè)孩子(其他瀏覽器認(rèn)識(shí))
    • lastChild
    • lastElementChild
    • 第一個(gè)孩子的兼容性寫(xiě)法
      • var div = dom.firstElementChild || dom.firstChild;
      • 注意點(diǎn):用的比較少,因?yàn)榧嫒菪圆?,空格也?dāng)做節(jié)點(diǎn)
  • 兄弟節(jié)點(diǎn)(必須是親的)

    • nextSibling下一個(gè)兄弟(只有ie6、7、8認(rèn)識(shí))
    • nextElementSibling(其他瀏覽器認(rèn)識(shí)的)
    • previousSibling:上一個(gè)兄弟
    • previousElementSibling
    • 兄弟節(jié)點(diǎn)兼容寫(xiě)法
      • var div = dom.nextElementsibling || dom.nextSibling
      • 注意點(diǎn):順序不能顛倒(先寫(xiě)正常瀏覽器,在寫(xiě)ie)

總結(jié):只有父親節(jié)點(diǎn):parentNode和子節(jié)點(diǎn)children常用其他作為了解

二:js內(nèi)置對(duì)象之Date對(duì)象

  • var date = new Date();
  • 獲取當(dāng)前年、月、日、周
    • var year = myDate.getFullYear();
    • var month = myDate.getMonth();
      • 獲取的月份是從0到11,0對(duì)應(yīng)的是一月
    • var day = myDate.getDate();
    • var weedDay = myDate.getDay();
      • 獲取的星期是從0到6,0對(duì)應(yīng)周日
  • 案例:
    • 1.簡(jiǎn)單的日歷制作
    • 2.時(shí)鐘的制作

三:offset家族##

  • offset自己的(目的:就是用來(lái)獲取元素自己的尺寸的)
  • 自己的寬、高(和他人無(wú)關(guān))
    • offsetHeight【offsetHeight = height + border + padding】
    • offsetWidth【offsetWidth = width + border + padding】
    • 返回距離上級(jí)盒子(帶有定位:如果所有的父級(jí)都沒(méi)有定位那么已body為準(zhǔn))左邊、上邊(沒(méi)有右和下)
      • offsetLeft【邊框到邊框的距離】
      • offsetTop【邊框到邊框的距離】
  • 注意:
    • 1.直接獲取style.width的寬高是空
    • 2.可以獲取行內(nèi)樣式的style的寬、高
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容