摘要:和事件可用于處理。循環(huán)中的代碼塊將針對(duì)每個(gè)屬性執(zhí)行一次。返回值是被找到的值。是被視為節(jié)點(diǎn)樹(shù)的。將新元素作為父元素的最后一個(gè)子元素進(jìn)行添加。返回指定的屬性值。把指定屬性設(shè)置或修改為指定的值。年齡必須是與之間的數(shù)字。
JS JS DOM
onload 和 onunload 事件會(huì)在用戶(hù)進(jìn)入或離開(kāi)頁(yè)面時(shí)被觸發(fā)。
onload 事件可用于檢測(cè)訪問(wèn)者的瀏覽器類(lèi)型和瀏覽器版本,并基于這些信息來(lái)加載網(wǎng)頁(yè)的正確版本。
onload 和 onunload 事件可用于處理 cookie。
onmousedown, onmouseup 以及 onclick 構(gòu)成了鼠標(biāo)點(diǎn)擊事件的所有部分。首先當(dāng)點(diǎn)擊鼠標(biāo)按鈕時(shí),會(huì)觸發(fā) onmousedown 事件,當(dāng)釋放鼠標(biāo)按鈕時(shí),會(huì)觸發(fā) onmouseup 事件,最后,當(dāng)完成鼠標(biāo)點(diǎn)擊時(shí),會(huì)觸發(fā) onclick 事件。
找到您希望刪除的子元素,然后使用其 parentNode 屬性來(lái)找到父元素:
var child=document.getElementById("p1"); child.parentNode.removeChild(child);JS 對(duì)象
JavaScript for...in 語(yǔ)句循環(huán)遍歷對(duì)象的屬性。
for...in 循環(huán)中的代碼塊將針對(duì)每個(gè)屬性執(zhí)行一次。
for (對(duì)象中的變量) { 要執(zhí)行的代碼 }
極大或極小的數(shù)字可通過(guò)科學(xué)(指數(shù))計(jì)數(shù)法來(lái)寫(xiě):
var y=123e5; // 12300000 var z=123e-5; // 0.00123
如果邏輯對(duì)象無(wú)初始值或者其值為 0、-0、null、""、false、undefined 或者 NaN,那么對(duì)象的值為 false。否則,其值為 true(即使當(dāng)自變量為字符串 "false" 時(shí))!
使用了 Math 對(duì)象的 floor() 方法和 random() 來(lái)返回一個(gè)介于 0 和 10 之間的隨機(jī)數(shù):
document.write(Math.floor(Math.random()*11))RegExp 對(duì)象的方法
test() 方法檢索字符串中的指定值。返回值是 true 或 false。
exec() 方法檢索字符串中的指定值。返回值是被找到的值。如果沒(méi)有發(fā)現(xiàn)匹配,則返回 null。
//找到第一個(gè) "e",并存儲(chǔ)其位置, //如果再次運(yùn)行 exec(),則從存儲(chǔ)的位置開(kāi)始檢索,并找到下一個(gè) "e",并存儲(chǔ)其位置 var patt1=new RegExp("e","g"); do { result=patt1.exec("The best things in life are free"); document.write(result); } while (result!=null)
compile() 既可以改變檢索模式,也可以添加或刪除第二個(gè)參數(shù)。
var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); //true patt1.compile("d"); document.write(patt1.test("The best things in life are free")); //falseJS Window Window 尺寸
有三種方法能夠確定瀏覽器窗口的尺寸(瀏覽器的視口,不包括工具欄和滾動(dòng)條)。
對(duì)于Internet Explorer、Chrome、Firefox、Opera 以及 Safari:
window.innerHeight - 瀏覽器窗口的內(nèi)部高度 window.innerWidth - 瀏覽器窗口的內(nèi)部寬度
對(duì)于 Internet Explorer 8、7、6、5:
document.documentElement.clientHeight document.documentElement.clientWidth 或者 document.body.clientHeight document.body.clientWidth
實(shí)用的 JavaScript 方案(涵蓋所有瀏覽器):
var w=window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var h=window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;Window Screen
(返回訪問(wèn)者屏幕的寬度,以像素計(jì),減去界面特性,比如窗口任務(wù)欄)
screen.availWidth - 可用的屏幕寬度
screen.availHeight - 可用的屏幕高度
Window Locationlocation.href 屬性返回當(dāng)前頁(yè)面的 URL。
location.hostname 返回 web 主機(jī)的域名
location.pathname 返回當(dāng)前頁(yè)面的路徑和文件名
location.port 返回 web 主機(jī)的端口 (80 或 443)
location.protocol 返回所使用的 web 協(xié)議(http:// 或 https://)
location.assign("http://www.w3school.com.cn") 方法加載新的文檔。
history.back() - 與在瀏覽器點(diǎn)擊后退按鈕相同(加載歷史列表中的前一個(gè) URL)
history.forward() - 與在瀏覽器中點(diǎn)擊按鈕向前相同(加載歷史列表中的下一個(gè) URL)
(navigator 數(shù)據(jù)可被瀏覽器使用者更改,瀏覽器無(wú)法報(bào)告晚于瀏覽器發(fā)布的新操作系統(tǒng))
特性檢測(cè)
由于 navigator 可誤導(dǎo)瀏覽器檢測(cè),使用對(duì)象檢測(cè)可用來(lái)嗅探不同的瀏覽器。
由于不同的瀏覽器支持不同的對(duì)象,您可以使用對(duì)象來(lái)檢測(cè)瀏覽器。例如,由于只有 Opera 支持屬性 "window.opera",您可以據(jù)此識(shí)別出 Opera。
alert("文本") confirm("文本") prompt("文本","默認(rèn)值")JS Timing
setTimeout("javascript語(yǔ)句",毫秒) 未來(lái)的某時(shí)執(zhí)行代碼
setTimeout() 方法會(huì)返回某個(gè)值。在上面的語(yǔ)句中,值被儲(chǔ)存在名為 t 的變量中。假如你希望取消這個(gè) setTimeout(),你可以使用這個(gè)變量名來(lái)指定它。
clearTimeout() 取消setTimeout()
HTML DOM
在 HTML DOM 中,所有事物都是節(jié)點(diǎn)。DOM 是被視為節(jié)點(diǎn)樹(shù)的 HTML。
整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)
每個(gè) HTML 元素是元素節(jié)點(diǎn)
HTML 元素內(nèi)的文本是文本節(jié)點(diǎn)
每個(gè) HTML 屬性是屬性節(jié)點(diǎn)
注釋是注釋節(jié)點(diǎn)
document.documentElement - 全部文檔
document.body - 文檔的主體
DOM 處理中的常見(jiàn)錯(cuò)誤是希望元素節(jié)點(diǎn)包含文本
可通過(guò)節(jié)點(diǎn)的 innerHTML 屬性來(lái)訪問(wèn)文本節(jié)點(diǎn)的值
一些常用的 HTML DOM 方法:
getElementById() 返回帶有指定 ID 的元素。
getElementsByTagName() 返回包含帶有指定標(biāo)簽名稱(chēng)的所有元素的節(jié)點(diǎn)列表(集合/節(jié)點(diǎn)數(shù)組)。
getElementsByClassName() 返回包含帶有指定類(lèi)名的所有元素的節(jié)點(diǎn)列表。
appendChild() 將新元素作為父元素的最后一個(gè)子元素進(jìn)行添加。
removeChild() 刪除子節(jié)點(diǎn)child.parentNode.removeChild(child)。
replaceChild() 替換子節(jié)點(diǎn)。
insertBefore() 在指定的子節(jié)點(diǎn)前面插入新的子節(jié)點(diǎn)。
createAttribute() 創(chuàng)建屬性節(jié)點(diǎn)。
createElement() 創(chuàng)建元素節(jié)點(diǎn)。
createTextNode() 創(chuàng)建文本節(jié)點(diǎn)。
getAttribute() 返回指定的屬性值。
setAttribute() 把指定屬性設(shè)置或修改為指定的值。
一些常用的 HTML DOM 屬性:
innerHTML - 節(jié)點(diǎn)(元素)的文本值
parentNode - 節(jié)點(diǎn)(元素)的父節(jié)點(diǎn)
childNodes - 節(jié)點(diǎn)(元素)的子節(jié)點(diǎn)
attributes - 節(jié)點(diǎn)(元素)的屬性節(jié)點(diǎn)
nodeName 屬性
nodeName 屬性規(guī)定節(jié)點(diǎn)的名稱(chēng)。
nodeName 是只讀的
元素節(jié)點(diǎn)的 nodeName 與標(biāo)簽名相同
屬性節(jié)點(diǎn)的 nodeName 與屬性名相同
文本節(jié)點(diǎn)的 nodeName 始終是 #text
文檔節(jié)點(diǎn)的 nodeName 始終是 #document
注釋?zhuān)簄odeName 始終包含 HTML 元素的大寫(xiě)字母標(biāo)簽名。
nodeValue 屬性
nodeValue 屬性規(guī)定節(jié)點(diǎn)的值。
元素節(jié)點(diǎn)的 nodeValue 是 undefined 或 null
文本節(jié)點(diǎn)的 nodeValue 是文本本身
屬性節(jié)點(diǎn)的 nodeValue 是屬性值
nodeType 屬性
nodeType 屬性返回節(jié)點(diǎn)的類(lèi)型。nodeType 是只讀的。
比較重要的節(jié)點(diǎn)類(lèi)型有:
元素類(lèi)型 NodeType
元素 1
屬性 2
文本 3
注釋 8
文檔 9
如需向 HTML DOM 添加新元素,您首先必須創(chuàng)建該元素(元素節(jié)點(diǎn)),然后把它追加到已有的元素上。
除了 innerHTML 屬性,您也可以使用 childNodes 和 nodeValue 屬性來(lái)獲取元素的內(nèi)容。
document.getElementById("intro").childNodes[0].nodeValue
向超鏈接添加快捷鍵
幾乎所有瀏覽器均 accesskey 屬性,除了 Opera。
以下元素支持 accesskey 屬性:
< a>, ,
HTML
document.referrer
如果當(dāng)前文檔不是通過(guò)超級(jí)鏈接訪問(wèn)的,則為 null。這個(gè)屬性允許客戶(hù)端 JavaScript 訪問(wèn) HTTP 引用頭部。
打開(kāi)一個(gè)新的文檔,添加一些文本,然后關(guān)閉它。
document 文檔
文檔中錨的數(shù)目
document.anchors.length
文檔中的圖像數(shù)目
document.images.length
文檔中表單的名字
document.forms[0].name document.getElementById("myForm").reset()//重置
驗(yàn)證表單
選取文本域中的內(nèi)容
document.getElementById("myText").select()
表單中的下拉列表
document.getElementById("favorite").value=mylist.options[mylist.selectedIndex].text option=no.options[no.selectedIndex].text
當(dāng)達(dá)到文本域的最大字符數(shù)時(shí)跳至下一個(gè)域
這段腳本在達(dá)到文本框的最大長(zhǎng)度時(shí)跳到下一個(gè)文本框:
Event 對(duì)象
Frame、Frameset 以及 IFrame 對(duì)象
可調(diào)整大小和不可調(diào)整大小的框架
跳出框架
更改下拉列表中的可見(jiàn)行數(shù)
select id="mySelect"
document.getElementById("mySelect").size=3
選擇下拉列表中的多個(gè)選項(xiàng)
document.getElementById("mySelect").multiple=true
下拉列表 禁用
document.getElementById("mySelect").disabled=true
更改被選選項(xiàng)
document.getElementById("orange").selected=true;
從下拉列表中刪除選項(xiàng)
var x=document.getElementById("mySelect")
x.remove(x.selectedIndex)
打印該頁(yè)
window.print()
HTML5 中不再支持下面哪個(gè)元素?
在 HTML5 中不再支持