* js語法* js的動態(tài)函數(shù)和匿名函數(shù)* js動態(tài)函數(shù)Functionnew Function();* 匿名函數(shù):沒有名稱的函數(shù)尤辱,起個名稱var add = function(){};* js中全局變量和局部變量* 全部變量:定義標(biāo)簽中的變量,在頁面的任意位置上都能拿到劈彪。* 局部變量:定義在方法內(nèi)部的變量* js的對象和API* String對象* 屬性:length長度* 方法:* 和HTML相關(guān)方法* bold()粗體* fontcolor()字體顏色* sup()上標(biāo)* sub()下標(biāo)* 和java中String類似的方法* charAt()返回指定位置的字符* indexof()返回字符的位置* substring(start,stop)截取字符串* substr(start,length)截取字符串* Array數(shù)組* 聲明數(shù)組* var arr = [22];* var arr = new Array(4或者"abc");* 方法:* concat()鏈接數(shù)組或者元素* pop()刪除最后一個元素,返回* push()向末尾添加一個元素抄谐,返回長度宁赤。* sort()排序* Date對象* var date = new Date();當(dāng)前時間* 方法:* toLocaleString()顯示當(dāng)?shù)厝掌诟袷? getFullYear()獲取年份* getMonth()獲取月份(0-11)+1* getDate()幾號* getDay()星期幾* getTime()毫秒值* setTime()根據(jù)毫秒值設(shè)置時間* Date.parse();可以字符串,返回是毫秒值* Math數(shù)學(xué)* ceil()上舍入* floor()下舍入* round()四舍五入* random()隨機(jī)數(shù)* RegExp對象* new RegExp("")* var reg = /^表達(dá)式$/;(記锥竦ⅰ)* reg.test(string);(記酌苋巍)如果匹配返回true,如果匹配不成功返回false偷俭。* 全局函數(shù)* eval()解析字符串浪讳,執(zhí)行js的代碼。* isNaN()判斷是否是非數(shù)字值* parseInt()* BOM瀏覽器對象模型* winodw窗口對象* alert()提示框* confirm()詢問框* setInterval("run()",3000)每隔3秒執(zhí)行run方法涌萤,返回唯一的id值* setTimeout("run()",3000);3秒后執(zhí)行run方法淹遵,返回唯一的id值* 清除定時器* clearInterval(id)* clearTimeout(id)* open("","","")彈出新的窗口* close()關(guān)閉窗口* navigator和瀏覽器版本相關(guān)* 屬性* history和歷史相關(guān)* back()上一頁* forward()下一頁* go(1或者-1)* location和地址相關(guān)* href=""獲取和設(shè)置鏈接===============================================================================================================================* DOM文檔對象模型* DocumentObjectModel* 文檔:標(biāo)記型文檔(HTML/XML)* 對象:封裝屬性和行為(方法)* 模型:共性特征的體現(xiàn)* DOM解析HTML* 通過DOM的方法口猜,把HTML全部(元素(標(biāo)簽)、文本透揣、屬性)都封裝成了對象济炎。文本* DOM想要操作標(biāo)記型文檔先解析。(解析器)* DOM解析HTML(瀏覽器就可以HTML)* 瀏覽器DOM解析HTML淌实?* DOM的三個級別:* DHTML不是一種編程語言冻辩。* html:封裝數(shù)據(jù)。展示給用戶的數(shù)據(jù)* css:設(shè)置樣式(顯示效果)* dom:操作HTML(解析HTML)* js:提供邏輯(判斷語句拆祈,循環(huán)語句)* Document:代表整個文檔恨闪。* 方法:getElementById("id的值");通過元素的id的屬性獲取元素(標(biāo)簽)對象。getElementsByName("name屬性值");通過名稱獲取元素對象的集合(返回?cái)?shù)組)getElementsByTagName("標(biāo)簽名稱");通過標(biāo)簽名稱獲取元素對象的集合(返回?cái)?shù)組)* write("文本的內(nèi)容(html的標(biāo)簽)")把文本內(nèi)容寫到瀏覽器上放坏。* createElement("元素名稱");創(chuàng)建元素對象* createTextNode("文本內(nèi)容")創(chuàng)建文本對象* appendChild("子節(jié)點(diǎn)")添加子節(jié)點(diǎn)* Element對象* 獲取元素對象* getAttribute("屬性名稱");獲取屬性的值* setAttribute("屬性名稱","屬性的值");設(shè)置或者修改屬性的值* removeAttribute("屬性名稱");刪除屬性* 獲取元素下的所有子節(jié)點(diǎn)(*****)* ul.getElementsByTagName();* Node:節(jié)點(diǎn)對象* nodeName:節(jié)點(diǎn)名稱* nodeType:節(jié)點(diǎn)類型* nodeValue:節(jié)點(diǎn)的值* parentNode獲取父節(jié)點(diǎn)(永遠(yuǎn)是一個元素節(jié)點(diǎn))IE6-8 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IE9-11 Chrome FireFoxfirstChild 第一個節(jié)點(diǎn) ? ? ? ? ? ? ? ? firstElementChild?第一個節(jié)點(diǎn)lastChild最后一個節(jié)點(diǎn)咙咽、 ? ? ? ? ? ? ? lastElementChild 最后一個節(jié)點(diǎn)nextSibling 下一同級節(jié)點(diǎn) ? ? ? ? ? ? ?nextElementSibling?下一同級節(jié)點(diǎn)previousSibling 上一同級節(jié)點(diǎn) ? ? ? ? ?previousElementSibling?上一同級節(jié)點(diǎn)
北京
* 如果通過ul獲取北京的子節(jié)點(diǎn),使用是ul.firstElementChild;獲取北京的子節(jié)點(diǎn)(IE9-11 Chrome FireFox)* 但是如果IE6-8淤年,需要使用firstChild;文本內(nèi)容* 使用span的標(biāo)簽獲取span中間的文本內(nèi)容(也是對象),需要使用firstChild;(不管是什么瀏覽器)* 方法* hasChildNodes()檢查是否包含子節(jié)點(diǎn)* hasAttributes()檢查是否包含屬性* appendChild(node)父節(jié)點(diǎn)調(diào)用钧敞,在末尾添加子節(jié)點(diǎn)* insertBefore(new,old)父節(jié)點(diǎn)調(diào)用,在指定節(jié)點(diǎn)之前添加子節(jié)點(diǎn)* replaceChild(new,old)父節(jié)點(diǎn)調(diào)用麸粮,替換節(jié)點(diǎn)* removeChild(node)父節(jié)點(diǎn)調(diào)用,刪除節(jié)點(diǎn)* cloneNode(boolean)不是父節(jié)點(diǎn)調(diào)用,復(fù)制節(jié)點(diǎn)* boolean:如果是true溉苛,復(fù)制子節(jié)點(diǎn):如果是false,不復(fù)制子節(jié)點(diǎn)弄诲,默認(rèn)是false* innerHTML:獲取和設(shè)置文本內(nèi)容愚战。* innerHTML屬性:* 獲取文本內(nèi)容* 設(shè)置文本內(nèi)容* 事件:onclick點(diǎn)擊事件onload加載事件onfocus獲取焦點(diǎn)事件onblur失去焦點(diǎn)事件* 全選/全不選/反選的練習(xí)* 指定默認(rèn)值:checked只要出現(xiàn)在,對號就勾上了。* 鼠標(biāo)移動的事件onmousemoveonmouseoutonmouseover* 鼠標(biāo)點(diǎn)擊事件(*****)onclick單擊ondblclick雙擊* 加載和卸載* onload(*****)加載* onunload卸載* 獲取焦點(diǎn)和失去焦點(diǎn)(*****)* onfocus獲取焦點(diǎn)* onblur失去焦點(diǎn)* 鍵盤* onkeyup按下抬起* 改變事件(*****)* onchange* 控制表單的提交(*****)onsubmit