常說的JS(瀏覽器執(zhí)行的JS)包含兩部分:1.JS基礎(chǔ)知識(語法)(ECMA262標(biāo)準(zhǔn))2.JS-Web-API(W3C標(biāo)準(zhǔn))
W3C 標(biāo)準(zhǔn)中關(guān)于 JS 的規(guī)定有:(只管定義用于瀏覽器中 JS 操作頁面的API 和全局變量,沒有任何JS語法)
1.DOM 操作(Document Object Model)
題目1.DOM 是那種基本的數(shù)據(jù)結(jié)構(gòu)
樹
題目2.DOM操作的常用API有哪些
1.獲取DOM節(jié)點,以及節(jié)點的property 和 Attribute
2.獲取父節(jié)點臀蛛、子節(jié)點
3.新增節(jié)點、刪除節(jié)點
題目3.DOM節(jié)點的 Attribute 和 property 有何區(qū)別
1.property 只是一個 JS 對象的屬性的修改
2.Attribute 是對 html 標(biāo)簽屬性的修改
知識點:
1殉摔、DOM本質(zhì)
xml
html
DOM:是網(wǎng)站內(nèi)容與JavaScript互通的接口。自JavaScript成為最常用的語言時JavaScript和DOM通常被視為獨立的實體记焊。DOM接口用于存取逸月、遍歷和控制HTML和XML文檔
DOM是Document Object Model文檔對象模型的縮寫。根據(jù)W3C DOM規(guī)范,DOM是一種與瀏覽器遍膜,平臺碗硬,語言無關(guān)的接口,使得你可以訪問頁面其他的標(biāo)準(zhǔn)組件
D:文檔 – html 文檔 或 xml 文檔
O:對象 – document 對象的屬性和方法
M:模型?
DOM 是針對xml(html)的基于樹的API瓢颅。
DOM樹:節(jié)點(node)的層次恩尾。
DOM 把一個文檔表示為一棵家譜樹(父,子惜索,兄弟)
DOM定義了Node的接口以及許多種節(jié)點類型來表示XML節(jié)點的多個方面
2特笋、DOM節(jié)點操作
?1.訪問/獲取節(jié)點
document.getElementById(id); //返回對擁有指定id的第一個對象進(jìn)行訪問
?document.getElementsByName(name); //返回帶有指定名稱的節(jié)點集合 ?注意拼寫:Elements
?document.getElementsByTagName(tagname); //返回帶有指定標(biāo)簽名的對象集合 ? 注意拼寫:Elements
?document.getElementsByClassName(classname);? //返回帶有指定class名稱的對象集合?注意拼寫:Elements
獲取對節(jié)點對象進(jìn)行屬性擴展的樣式
property?是 JS 的一個屬性剃浇, x 是 obj 的一個?property巾兆;node 是 p 的一個??property
?Attribute?是 JS 的一個屬性
?2.創(chuàng)建節(jié)點/屬性
?document.createElement(eName); //創(chuàng)建一個節(jié)點
?document.createAttribute(attrName); //對某個節(jié)點創(chuàng)建屬性
?document.createTextNode(text); //創(chuàng)建文本節(jié)點
?3.添加節(jié)點
?document.insertBefore(newNode,referenceNode); //在某個節(jié)點前插入節(jié)點
parentNode.appendChild(newNode); //給某個節(jié)點添加子節(jié)點
4.復(fù)制節(jié)點
cloneNode(true | false); //復(fù)制某個節(jié)點 ?參數(shù):是否復(fù)制原節(jié)點的所有屬性?
5.刪除節(jié)點
parentNode.removeChild(node); //刪除某個節(jié)點的子節(jié)點 node是要刪除的節(jié)點
?3猎物、DOM結(jié)構(gòu)操作
節(jié)點及其類型
節(jié)點
*由結(jié)構(gòu)圖中我們可以看到,整個文檔就是一個文檔節(jié)點角塑。?
*而每一個HMTL標(biāo)簽都是一個元素節(jié)點蔫磨。?
*標(biāo)簽中的文字則是文本節(jié)點。?
*標(biāo)簽的屬性是屬性節(jié)點圃伶。?
*一切都是節(jié)點……
節(jié)點樹
? ? ?節(jié)點樹的概念從圖中一目了然堤如,最上面的就是“樹根”了。節(jié)點之間有父子關(guān)系窒朋,祖先與子孫關(guān)系搀罢,兄妹關(guān)系。這些關(guān)系從圖中也很好看出來侥猩,直接連線的就是父子關(guān)系了榔至。而有一個父親的就是兄妹關(guān)系……?
二.BOM操作
?題目1.如何檢測瀏覽器的類型
?根據(jù) navigator 屬性值來得到
題目2.解析 url 的各部分
?根據(jù)?location 屬性值來得到
知識點
一、navigator
?瀏覽器特性
二欺劳、screen
屏幕特性
三唧取、location
1.href? ?整個 url
2.protocol? 協(xié)議
3.pathname? ? 路徑
4.search? ? 參數(shù)(?后面的)
5.hash? ?#后面的
演示:
?四划提、history
返回 和 前進(jìn)
3.事件綁定
4.ajax 請求(包括 http 協(xié)議)
5.存儲
一枫弟、頁面彈框是 window.alert(123),瀏覽器需要做:
1.定義一個 window 全局變量,對象類型
2.定義一個 alert 屬性鹏往,屬性值是一個函數(shù)
二淡诗、獲取元素 document.getElementById(id),瀏覽器需要
1.定義一個 document 全局變量,對象類型
2.給它定義一個 getElementById 的屬性掸犬,屬性值是一個函數(shù)