亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

JavaScript高程第十章:DOM(上)

xcold / 2218人閱讀

摘要:類型除了該死的其他所有瀏覽器都可以訪問到類型而中所有節(jié)點類型都繼承自類型因此所有節(jié)點類型都共享著相同的基本屬性和方法每個節(jié)點都有一個屬性可以表明節(jié)點的類型我們來看看有哪些類型吧和屬性則完全取決于對于元素節(jié)點保存的始終為標簽名而保存的值始終為

Node類型

除了IE(該死的IE),其他所有瀏覽器都可以訪問到Node類型,而JS中所有節(jié)點類型都繼承自Node類型,因此所有節(jié)點類型都共享著相同的基本屬性和方法.
每個節(jié)點都有一個nodeType屬性,可以表明節(jié)點的類型,我們來看看有哪些類型吧

Node.ELEMENT_NODE(1)

Node.ATTRIBUTE_NODE(2)

Node.TEXT_NODE(3)

Node.CDATA_SECTION_NODE(4)

Node.ENTITY_REFERENCE_NODE(5)

Node.ENTITY_NODE(6)

Node.PROCESSING_INSTRUCTION_NODE(7)

Node.COMMENT_NODE(8)

Node.DOCUMENT_NODE(9)

Node.DOCUMENT_TYPE_NODE(10)

Node.DOCUMENT_FRAGMENT_NODE(11)

Node.NOTATION_NODE(12)
nodeNamenodeValue屬性則完全取決于nodeType,對于元素節(jié)點,nodeName保存的始終為標簽名,而nodeValue保存的值始終為null

childNodes屬性中保存著一個NodeList對象(類數(shù)組對象,并不是Array的實例),NodeList是動態(tài)的,是基于DOM結構動態(tài)執(zhí)行查詢的結果,我們能通過以下方式來訪問子節(jié)點.

var firstChild = someNode.childNodes[0];
var secondChild = someNode.childNodes.item(1);
var count = someNode.childNodes.length;

對于NodeList對象,我們還可以轉換為數(shù)組,如下

var arrayOfNodes = Array.prototype.slice.call(someNode.childNodes,0);

值得注意,該段代碼在IE8及更早版本前是報錯的,這是因為IE8及更早版本將NodeList實現(xiàn)為一個COM對象,而我們不能像使用JScript對象那樣使用該對象,所以上述代碼會導致錯誤.以下是對于兼容性的解決方法.

function convertToArray(nodes){
  var array = null;
  try{
    array = Array.prototype.slice.call(nodes,0);//非IE
  }catch(ex){
    array = new Array();
    for(var i = 0,len = nodes.length;i < len;i++){
      array.push(node[i]);
    }
  }
  return array;
}

每個節(jié)點還有parentNode屬性,該屬性指向文檔樹中的父節(jié)點.包含在childNodes列表中的所有節(jié)點都有相同的父節(jié)點,而childNodes列表中的每個節(jié)點之間為同胞節(jié)點,可以通過previousSiblingnextSibling屬性訪問.如果列表只有一個節(jié)點,則該節(jié)點上述兩個屬性為null.
父節(jié)點與其第一個和最后一個子節(jié)點之間也存在特殊關系.父節(jié)點存在屬性firstChildlastChild分別指向它們.其中firstChildchildNodes[0]相等,而x.lastChildx.childNodes[x.childNodes.length-1]相等.

節(jié)點中hasChildNodes()方法也是一個有用的方法,在包含節(jié)點情況下返回true,否則返回false.

所有節(jié)點最后一個屬性都為ownerDocument,它指向表示整個文檔的文檔節(jié)點,即#document,可以使我們直接到達頂層.

操作節(jié)點

注意:關系指針都是只讀的,所以DOM提供了一些函數(shù)供我們操作節(jié)點.
以下介紹了四種操作方法,都需要先取得父節(jié)點,但是需要明白不是所有類型的節(jié)點都有/支持子節(jié)點.

插入節(jié)點
appendChild(node) //向childNodes列表末尾添加一個節(jié)點,并在添加后,關系指針會相應更新.

值得注意的是appendChild()添加的節(jié)點如果已經(jīng)是文檔的一部分,那么相當于轉移節(jié)點.

insertBefore(node,null) //參數(shù)一為插入節(jié)點,第二個參數(shù)則為參照節(jié)點,設為null則效果與appendChild一樣,存在參照節(jié)點則插入節(jié)點變成參照節(jié)點前一個同胞節(jié)點(previousSibling)
移除/替換節(jié)點
removeChild(oldNode) //移除并非替換節(jié)點,返回值為oldNode
replaceChild(newNode,oldNode) //oldNode替換為newNode,oldNode雖然技術上仍然存在,但是文檔中沒有了它的位置
其他方法

這里有兩個方法是所有類型節(jié)點都有的,它們就是cloneNode(boolean)normalize(),我們重點介紹cloneNode()

cloneNode(boolean) //傳入一個布爾值,該值決定執(zhí)行深復制(節(jié)點及整個節(jié)點樹)還是淺復制(僅復制本身)

注意點一:深復制IE9之前版本不會為空白符創(chuàng)建節(jié)點,所以深復制時childNodes長度會有所不同.
注意點二:cloneNode()方法只復制特性和子節(jié)點(指定情況下),不會復制JS屬性如事件處理程序等等(除開IE,存在復制事件處理程序的bug),所以復制前最好先移除事件處理程序.

Element類型

除了Document類型,我們Web編程中最常用的類型就是Element類型啦.
Element 類型用于表現(xiàn)XML或HTML元素,提供了對元素標簽名,子節(jié)點,特性的訪問

特征

nodeType值為1

nodeName為元素標簽名

nodeValue為null

parentNode可能是Document或Element

子節(jié)點可能是Element,Text,Comment,ProcessingInstruction,CDATASection,EntityReference

其中nodeName和tagName屬性返回相同的值,推薦使用tagName,則表義更清晰,值得注意的是返回值大小寫的問題,由于HTML中為答謝,而XML/XHTML則會與源代碼保持一致,所以比較時要統(tǒng)一大小寫形式.

HTML元素

HTML元素都由HTMLElement類型表示,不直接通過該類型,也是通過它的子類型表示.HTMLElement類型繼承自Element并且添加了一些屬性如下:

id 元素在文檔中的唯一標識符

title 元素的附加說明信息,一般為工具提示條顯示

lang 元素內(nèi)容的語言代碼,很少使用

dir 語言方向,ltr為從左到右,rtl則相反

className 與元素class的特性對應,沒有設置為class則是因為class為ECMAScript的保留字

注意以上屬性的修改并不是所有都會在頁面中直觀的表現(xiàn)出來,id和lang修改對用戶來說是不可見的(假設沒有css樣式),對title的修改則只會在鼠標移動到元素上時才會顯示出來(工具提示條),dir的修改則會在屬性重寫的那一刻立刻影響頁面中的文本,對className的修改則與是否關聯(lián)了不同的CSS樣式有關.

特性

HTML元素每個元素都有一個或多個特性,操作特性的DOM方法如下有三個:

getAttribute()

setAttribute()

removeAttribute()
這三個方法可以針對任何特性使用,包括自定義特性.

但是只有公認的特性才會添加到DOM元素屬性上,自定義的特性通常是不存在的(undefined),當然這里又要注意我們的"好朋友"IE啦,它會為自定義特性創(chuàng)建屬性.

特殊特性

主要針對getAttribute()方法講述一下特殊情況.

有兩類特殊特性,有對應的屬性名,但值與getAttribute()返回的值并不相同

style,通過getAttribute()訪問會返回CSS文本,而通過屬性訪問返回一個對象

onclick這樣的事件處理程序,通過getAttribute()訪問會返回相應代碼的字符串.而屬性訪問時,則會返回一個JavaScript函數(shù)(未指定則為null)

故通常只有取得自定義特性值的情況下,才會使用getAttribute()方法.

注意!:我們的"老朋友"IE7及以前版本中,getAttribute()方法訪問上述兩個特殊特性時,返回的值與屬性的值相同.即getAttribute("style")返回一個對象,getAttribute("onclick")返回一個函數(shù).

設置特性

這里主要講解下setAttribute()方法,這和getAttribute()相對應.這個方法接受兩個參數(shù),要設置的特性名和值,如果特性存在則將值進行替換;不存在則創(chuàng)建并設置相應的值.
值得注意的是,設置特性名會轉換為小寫.而且直接給DOM元素添加一個自定義的屬性并不會讓這個屬性成為元素的特性.

div.mycolor="red";
div.getAttribute("mycolor"); //這里返回null(IE除外)
移除特性

removeAttribute()方法用于徹底刪除元素特性,調(diào)用該方法會清除特性的值并完全刪除特性.
注意!:IE6及以前版本不支持該方法.

attributes屬性

Element類型是使用attributes屬性的唯一一個DOM節(jié)點類型.在該屬性中包含一個NamedNodeMap,與NodeList類似,也是"動態(tài)"集合.元素每一個特性都由一個Attr節(jié)點表示,每個節(jié)點都保存在NamedNodeMap對象中.相關方法如下:

getNamedItem(name)返回nodeName屬性等于name的節(jié)點

removeNamedItem(name)從列表移除nodeName等于name的節(jié)點

setNamedItem(node)向列表添加節(jié)點,以節(jié)點的nodeName屬性為索引

item(pos)返回處于數(shù)字pos位置處的節(jié)點

在該屬性中有一系列的節(jié)點,每個節(jié)點的nodeName就是特性的名稱,nodeValue就是特性的值.要取得元素的id特性,可以使用attributes.getNamedItem("id").nodeValue
等同于attributes["id"].nodeValue

調(diào)用removeNamedItem()與在元素上調(diào)用removeAttribute()效果相同.

setNamedItem()是一個很不常用的方法,該方法可以為元素添加一個新特性,此外需要為它傳入一個特性節(jié)點.

注意!:IE7及更早版本會返回HTML元素中所有可能的特性,包括沒指定的特性.
針對低版本改進:每個特性節(jié)點都有一個名為specified的屬性,如果為true則意味著要么HTML中指定了相應特性,要么通過setAttribute()設置了該特性,在IE中未設置過的特性都為false,其他瀏覽器則不會為這類特性生成對應特性節(jié)點.

創(chuàng)建元素

document.createElement()方法就可創(chuàng)建新元素.
該方法接受一個參數(shù),就是元素標簽名,這個標簽名在HTML下不區(qū)分大小寫,XML中則會區(qū)分大小寫.

在創(chuàng)建新元素的同時,新元素也設置了ownerDocument屬性,此時,還可以操作元素特性,為它添加更多的子節(jié)點.
在設置完特性后,由于未添加到文檔樹,所以一切特性都不會影響瀏覽器的顯示.我們可以通過之前講到的appendChild(),insertBefore(),replaceChild()方法來進行相應的操作.
一旦添加到文檔樹,則瀏覽器會立刻呈現(xiàn)該元素.此后我們的修改都會反應到瀏覽器中.
注意!(常不考慮):在IE中我們可以通過另一種方式進行創(chuàng)建

document.createElement("
");

這個方式可以避開IE7及更早版本中動態(tài)創(chuàng)建元素的某些問題.(不能設置動態(tài)創(chuàng)建的iframe元素的name特性;不能通過表單的reset()方法重設動態(tài)創(chuàng)建的input元素;動態(tài)創(chuàng)建的type特性值為"reset"的button元素重設不了表單;動態(tài)創(chuàng)建的一批name相同的單選按鈕彼此毫無關系)

元素子節(jié)點
除了IE,其他瀏覽器解析代碼時會解析空白符為文本節(jié)點.我們可以通過nodeType屬性的檢查來過濾掉它們.

Document 類型

在JavaScript中Document類型表示文檔,我們常用的document對象是HTMLDocument(繼承自Document類型)的一個實例,表示整個HTML頁面;document對象還是window對象的一個屬性,因此可以將其作為全局對象來訪問.

特征

nodeType值為9

nodeName為"#document"

nodeValue為null

parentNode為null

ownerDocument為null

子節(jié)點可能是一個DocumentType(最多一個),Element(最多一個),ProcessingInstruction或Comment

Document類型可以表示HTML頁面或者其他基于XML的文檔,不過最常見的應用還是作為HTMLDocument實例的document對象.通過該對象,我們可以獲取頁面有關信息,操作頁面的外觀,以及其底層結構.

文檔子節(jié)點

雖然DOM標準規(guī)定Document節(jié)點的子節(jié)點可以是DocumentType,Element,ProcessingInstruction或Comment,但是還有兩個內(nèi)置的訪問其子節(jié)點的快捷方式.
一:documentElement屬性-始終指向HTML頁面中的元素
二:childNodes列表
并且如下代碼所示

//html部分
//
// 
//

var html = document.documentElement;
console.log(html === document.childNodes[0]); //true
console.log(html === document.firstChild);    //true

可見documentElement,firstChild,childNodes[0]指向同一個元素

并且作為HTMLDocument的實例,還有一個body屬性,直接指向元素.

所有瀏覽器都支持document.documentElementdocument.body屬性

DocumentType節(jié)點(不重要)

節(jié)點可以通過document.doctype屬性獲取并訪問它的信息.
以下是各瀏覽器支持差別:

IE8及之前:存在文檔類型聲明,會錯誤解釋為一個注釋并把它當作Comment節(jié)點;而document.doctype 值始終為null

IE9+及firefox:如果存在文檔類型聲明,則會將其作為文檔第一個子節(jié)點;document.doctype是一個DocumentType節(jié)點,也可以通過document.firstChild或document.childNodes[0]訪問.

Safari,Chrome和Opera:如果存在文檔類型聲明,則會將其解析,但不作為文檔子節(jié)點,document.doctype是一個DocumentType節(jié)點,但該節(jié)點不存在于document.childNodes中.

Comment(不重要)


  
  

對于上述注釋也在不同瀏覽器中存在不同.

IE8及之前,Safari3.1及更高,Opera和chrome:只為第一條注釋創(chuàng)建節(jié)點,部位第二條注釋創(chuàng)建節(jié)點.

IE9+:將第一條注釋創(chuàng)建為document.childNodes中的一個注釋節(jié)點,也將第二條注釋創(chuàng)建為document.childNodes中的注釋子節(jié)點

Safari3.1之前,firefox:完全忽略

以上的不一致性導致了無論是注釋還是DocumentType節(jié)點對于我們來說用處十分有限.

文檔信息

document對象有屬性提供了document對象所表現(xiàn)的網(wǎng)頁的一些信息.

title:包含在</b>元素中的文本(瀏覽器窗口的標題欄或標簽頁上),但是修改該值不會改變<b><title></b>元素.</p></p> <p><p>URL:包含頁面完整的URL</p></p> <p><p>domain:包含頁面的域名</p></p> <p><p>referrer:保存鏈接到當前頁面的那個頁面的URL,如無來源頁面則為空字符串.<br>注意!:這些信息都存在于HTTP頭部,只不過我們能通過該屬性在JS中訪問它們.而且我們只能在遵守規(guī)則(不能將這個屬性設置為URL中不包含的域,不能將域縮緊如將wrox.com設置為p2p.wrox.com一樣(IE8及之后))的情況下設置domain屬性.</p></p> <p>其中domain屬性還是越過跨域安全限制的好辦法.</p> <b>查找元素</b> <p>主要用到document對象以下方法.</p> <pre>getElementById("id") //接受一個參數(shù),如果找到相應元素則返回該元素,不存在則返回null //注意!:IE8及較低版本不區(qū)分ID大小寫/如果存在多個ID則只返回第一次出現(xiàn)的/IE7及較低版本中name值與ID匹配的表單元素會被返回 getElementsByTagName("img") //接受一個參數(shù),為要取得元素的標簽名,返回一個NodeList(包含零或多個元素).在HTML文檔中,這個方法返回一個HTMLCollection對象,該對象與NodeList非常類似 getElementsByName("name") //只有HTMLDocument類型才有的方法.和上述兩個方法相似,也就不解釋傳入?yún)?shù)之類的啦 </pre> <b>HTMLCollection對象</b> <p>元素數(shù)量可以通過<b>length</b>獲得,而且我們可以通過<b>.item()</b>和方括號語法<b>[0]/["name特性"]</b>來訪問元素<b>.namedItem()</b>方法則可以通過name特性取得其中的元素.</p> <b>特殊集合</b> <p>除了屬性和方法,document對象還有一些特殊集合.這些集合都是HTMLCollection對象,為訪問文檔常用部分提供了快捷方式,如下:</p> <p><p><b>document.anchors</b> 包含文檔中所有帶name特性的<b><a></b>元素</p></p> <p><p><b>document.applets</b> 包含文檔中所有的<b><applet></b>元素(已不再推薦使用)</p></p> <p><p><b>document.forms</b> 包含文檔中所有<b><form></b>元素</p></p> <p><p><b>document.images</b> 包含文檔中所有<b><img></b>元素</p></p> <p><p><b>document.links</b> 包含文檔中所有帶<b>href</b>特性的<b><a></b>元素<br>該集合始終可以通過HTMLDocument對象訪問到.而且是動態(tài)的隨著當前文檔內(nèi)容的更新而更新.</p></p> <b>DOM一致性(分級)</b> <p><b>document.implementation</b>屬性就是用在檢測瀏覽器實現(xiàn)了DOM的哪些部分.<br><b>document.implementation.hasFeature()</b>方法接受兩個參數(shù),要檢測的DOM功能名稱和版本號,如果瀏覽器支持則返回true.但是這并不代表著實現(xiàn)與規(guī)范一致</p> <b>文檔寫入</b> <p>document對象有一個存在很久的功能,將輸出流寫入到網(wǎng)頁中的能力.這關乎到下列4個方法.</p> <p><p>write()</p></p> <p><p>writeln()<br>上面兩個方法都是接受一個字符串參數(shù),writeln()額外在字符串寫入后再寫入一個換行符</p></p> <p>注意!:如果要用于寫入<b><script></script></b>則要對<b></script></b>進行轉義=><b></script></b>,防止script標簽被提前閉合導致無法執(zhí)行;如果在文檔接在結束后再調(diào)用則會導致整個頁面重寫.</p> <p><p>open()</p></p> <p><p>close()<br>上述兩個方法用于打開和關閉網(wǎng)頁的輸出流,如果在頁面加載期間使用write()和writeln()則不需要用到這兩個方法(嚴格型的XHTML文檔不支持文檔寫入)</p></p> </div> <div id="dnkpnhlp" class="mt-64 tags-seach" > <div id="dnkpnhlp" class="tags-info"> <a style="width:120px;" title="云服務器" href="http://www.ezyhdfw.cn/site/active/kuaijiesale.html?ytag=seo">云服務器</a> <a style="width:120px;" title="GPU云服務器" href="http://www.ezyhdfw.cn/site/product/gpu.html">GPU云服務器</a> <a style="width:120px;" title="第十章" href="http://www.ezyhdfw.cn/yun/tag/dishizhang/">第十章</a> <a style="width:120px;" title="javascript dom" href="http://www.ezyhdfw.cn/yun/tag/javascript dom/">javascript dom</a> <a style="width:120px;" title="javascript dom 編程藝術" href="http://www.ezyhdfw.cn/yun/tag/javascript dom bianchengyishu/">javascript dom 編程藝術</a> <a style="width:120px;" title="javascript遍歷dom" href="http://www.ezyhdfw.cn/yun/tag/javascriptbianlidom/">javascript遍歷dom</a> </div> </div> <div id="dnkpnhlp" class="entry-copyright mb-30"> <p class="mb-15"> 文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。</p> <p>轉載請注明本文地址:http://www.ezyhdfw.cn/yun/91034.html</p> </div> <ul class="pre-next-page"> <li id="dnkpnhlp" class="ellipsis"><a class="hpf" href="http://www.ezyhdfw.cn/yun/91033.html">上一篇:js編程基礎</a></li> <li id="dnkpnhlp" class="ellipsis"><a class="hpf" href="http://www.ezyhdfw.cn/yun/91035.html">下一篇:React Router 學習手冊(基礎篇)</a></li> </ul> </div> <div id="dnkpnhlp" class="about_topicone-mid"> <h3 class="top-com-title mb-0"><span data-id="0">相關文章</span></h3> <ul class="com_white-left-mid atricle-list-box"> <li> <div id="dnkpnhlp" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://www.ezyhdfw.cn/yun/91031.html"><b><em>JavaScript</em><em>高程</em><em>第</em><em>十章</em>:<em>DOM</em>(中)</b></a></h2> <p class="ellipsis2 good">摘要:主要介紹不常用的類型這里介紹我們的其他類型包括以下幾個類型類型類型類型類型類型類型類型文本節(jié)點由類型表示特征值為為為節(jié)點包含的文本是一個不支持沒有子節(jié)點我們可以通過訪問節(jié)點包含的文本方法將添加到節(jié)點末尾從指定位置開始刪除個字符從指定 主要介紹不常用的DOM類型 這里介紹我們的其他類型,包括以下幾個類型: Text類型 Comment類型 CDATASection類型 Document...</p> <div id="dnkpnhlp" class="com_white-left-info"> <div id="dnkpnhlp" class="com_white-left-infol"> <a href="http://www.ezyhdfw.cn/yun/u-312.html"><img src="http://www.ezyhdfw.cn/yun/data/avatar/000/00/03/small_000000312.jpg" alt=""><span id="dnkpnhlp" class="layui-hide64">suosuopuo</span></a> <time datetime="">2019-08-22 10:40</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="dnkpnhlp" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://www.ezyhdfw.cn/yun/97362.html"><b><em>高程</em>3總結#<em>第</em>1章<em>JavaScript</em>簡介</b></a></h2> <p class="ellipsis2 good">摘要:簡介簡史誕生于年,當時主要負責表單的輸入驗證。實現(xiàn)一個完整的由三部分組成核心文檔對象模型瀏覽器對象模型就是對實現(xiàn)該標準規(guī)定的各個方面內(nèi)容的語言的描述。把整個頁面映射為一個多層節(jié)點結構。由萬維網(wǎng)聯(lián)盟規(guī)劃。主要目標是映射文檔的結構。 JavaScript簡介 JavaScript簡史 JavaScript誕生于1995年,當時主要負責表單的輸入驗證。 如果沒有表單驗證的功能,填入信息之...</p> <div id="dnkpnhlp" class="com_white-left-info"> <div id="dnkpnhlp" class="com_white-left-infol"> <a href="http://www.ezyhdfw.cn/yun/u-1536.html"><img src="http://www.ezyhdfw.cn/yun/data/avatar/000/00/15/small_000001536.jpg" alt=""><span id="dnkpnhlp" class="layui-hide64">betacat</span></a> <time datetime="">2019-08-23 11:43</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="dnkpnhlp" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://www.ezyhdfw.cn/yun/97997.html"><b><em>高程</em>3總結#<em>第</em>18章<em>JavaScript</em>與XML</b></a></h2> <p class="ellipsis2 good">摘要:在基于使用命名空間的文檔求值時,需要使用對象。第四個參數(shù)的取值類型是下列常量之一,返回與表達式匹配的數(shù)據(jù)類型。,返回字符串值。這是最常用的結果類型。集合中節(jié)點的次序與它們在文檔中的次序一致。 JavaScript與XML 瀏覽器對XML DOM的支持 DOM2級核心 在通過JavaScript處理XML時,通常只使用參數(shù)root,因為這個參數(shù)指定的是XML DOM文檔元素的標簽名 v...</p> <div id="dnkpnhlp" class="com_white-left-info"> <div id="dnkpnhlp" class="com_white-left-infol"> <a href="http://www.ezyhdfw.cn/yun/u-1653.html"><img src="http://www.ezyhdfw.cn/yun/data/avatar/000/00/16/small_000001653.jpg" alt=""><span id="dnkpnhlp" class="layui-hide64">gaosboy</span></a> <time datetime="">2019-08-23 12:09</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="dnkpnhlp" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://www.ezyhdfw.cn/yun/80621.html"><b>Event Handler 事件處理程序 1 ---《<em>高程</em>3》</b></a></h2> <p class="ellipsis2 good">摘要:為屬性賦值匿名函數(shù)事件作用域使用級方法指定的事件處理程序被認為是元素的方法。最后這個布爾值參數(shù)如果是,表示在捕獲階段調(diào)用事件處理程序如果是,表示在冒泡階段調(diào)用事件處理程序。 事件捕獲和事件冒泡 DOM2級事件規(guī)定的事件流包括三個階段:事件捕獲、處于目標階段和事件冒泡。首先發(fā)生的是事件捕獲,從外部節(jié)點到內(nèi)部節(jié)點依次遍歷,為截獲事件提供了機會。然后是實際的目標接收到事件。最后一個階段是冒泡...</p> <div id="dnkpnhlp" class="com_white-left-info"> <div id="dnkpnhlp" class="com_white-left-infol"> <a href="http://www.ezyhdfw.cn/yun/u-1107.html"><img src="http://www.ezyhdfw.cn/yun/data/avatar/000/00/11/small_000001107.jpg" alt=""><span id="dnkpnhlp" class="layui-hide64">WalkerXu</span></a> <time datetime="">2019-08-20 11:31</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> <li> <div id="dnkpnhlp" class="atricle-list-right"> <h2 class="ellipsis2"><a class="hpf" href="http://www.ezyhdfw.cn/yun/50115.html"><b>Event Handler 事件處理程序 1 ---《<em>高程</em>3》</b></a></h2> <p class="ellipsis2 good">摘要:為屬性賦值匿名函數(shù)事件作用域使用級方法指定的事件處理程序被認為是元素的方法。最后這個布爾值參數(shù)如果是,表示在捕獲階段調(diào)用事件處理程序如果是,表示在冒泡階段調(diào)用事件處理程序。 事件捕獲和事件冒泡 DOM2級事件規(guī)定的事件流包括三個階段:事件捕獲、處于目標階段和事件冒泡。首先發(fā)生的是事件捕獲,從外部節(jié)點到內(nèi)部節(jié)點依次遍歷,為截獲事件提供了機會。然后是實際的目標接收到事件。最后一個階段是冒泡...</p> <div id="dnkpnhlp" class="com_white-left-info"> <div id="dnkpnhlp" class="com_white-left-infol"> <a href="http://www.ezyhdfw.cn/yun/u-1043.html"><img src="http://www.ezyhdfw.cn/yun/data/avatar/000/00/10/small_000001043.jpg" alt=""><span id="dnkpnhlp" class="layui-hide64">wujl596</span></a> <time datetime="">2019-08-01 15:47</time> <span><i class="fa fa-commenting"></i>評論0</span> <span><i class="fa fa-star"></i>收藏0</span> </div> </div> </div> </li> </ul> </div> <div id="dnkpnhlp" class="topicone-box-wangeditor"> <h3 class="top-com-title mb-64"><span>發(fā)表評論</span></h3> <div id="dnkpnhlp" class="xcp-publish-main flex_box_zd"> <div id="dnkpnhlp" class="unlogin-pinglun-box"> <a href="javascript:login()" class="grad">登陸后可評論</a> </div> </div> </div> <div id="dnkpnhlp" class="site-box-content"> <div id="dnkpnhlp" class="site-content-title"> <h3 class="top-com-title mb-64"><span>0條評論</span></h3> </div> <div id="dnkpnhlp" class="pages"></ul></div> </div> </div> <div id="dnkpnhlp" class="layui-col-md4 layui-col-lg3 com_white-right site-wrap-right"> <div id="dnkpnhlp" class=""> <div id="dnkpnhlp" class="com_layuiright-box user-msgbox"> <a href="http://www.ezyhdfw.cn/yun/u-657.html"><img src="http://www.ezyhdfw.cn/yun/data/avatar/000/00/06/small_000000657.jpg" alt=""></a> <h3><a href="http://www.ezyhdfw.cn/yun/u-657.html" rel="nofollow">xcold</a></h3> <h6>男<span>|</span>高級講師</h6> <div id="dnkpnhlp" class="flex_box_zd user-msgbox-atten"> <a href="javascript:attentto_user(657)" id="attenttouser_657" class="grad follow-btn notfollow attention">我要關注</a> <a href="javascript:login()" title="發(fā)私信" >我要私信</a> </div> <div id="dnkpnhlp" class="user-msgbox-list flex_box_zd"> <h3 class="hpf">TA的文章</h3> <a href="http://www.ezyhdfw.cn/yun/ut-657.html" class="box_hxjz">閱讀更多</a> </div> <ul class="user-msgbox-ul"> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/123722.html">【LeetCode 二叉樹專項】把二叉搜索樹轉換為累加樹(538)</a></h3> <p>閱讀 3425<span>·</span>2021-11-18 10:02</p></li> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/122249.html">UCloud金秋狂歡盛典-烏蘭察布上新首促,快杰共享型低至3元/1個月或37元/年-老劉博客</a></h3> <p>閱讀 1633<span>·</span>2021-10-12 10:08</p></li> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/122120.html">Docker安裝InfluxDB_用戶名密碼和策略使用</a></h3> <p>閱讀 1467<span>·</span>2021-10-11 10:58</p></li> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/122098.html">安裝鴻蒙開發(fā)工具-DevEco Studio</a></h3> <p>閱讀 1447<span>·</span>2021-10-11 10:57</p></li> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/121761.html">golang實現(xiàn)儀表控制-visa32.dll方式</a></h3> <p>閱讀 1349<span>·</span>2021-10-08 10:04</p></li> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/121543.html">【C++從0到1】新手都能看懂的C++入門(上篇),建議收藏</a></h3> <p>閱讀 2344<span>·</span>2021-09-29 09:35</p></li> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/120585.html">彈性云主機是什么原因-電信云主機是什么?</a></h3> <p>閱讀 966<span>·</span>2021-09-22 15:44</p></li> <li><h3 class="ellipsis"><a href="http://www.ezyhdfw.cn/yun/119030.html">微軟宣布將于 9 月 22 日舉行 Surface 和 Windows 11 活動</a></h3> <p>閱讀 1424<span>·</span>2021-09-03 10:30</p></li> </ul> </div> <!-- 文章詳情右側廣告--> <div id="dnkpnhlp" class="com_layuiright-box"> <h6 class="top-com-title"><span>最新活動</span></h6> <div id="dnkpnhlp" class="com_adbox"> <div id="dnkpnhlp" class="layui-carousel" id="right-item"> <div carousel-item> <div> <a href="http://www.ezyhdfw.cn/site/active/kuaijiesale.html?ytag=seo" rel="nofollow"> <img src="http://www.ezyhdfw.cn/yun/data/attach/240625/2rTjEHmi.png" alt="云服務器"> </a> </div> <div> <a href="http://www.ezyhdfw.cn/site/product/gpu.html" rel="nofollow"> <img src="http://www.ezyhdfw.cn/yun/data/attach/240807/7NjZjdrd.png" alt="GPU云服務器"> </a> </div> </div> </div> </div> <!-- banner結束 --> <div id="dnkpnhlp" class="adhtml"> </div> <script> $(function(){ $.ajax({ type: "GET", url:"http://www.ezyhdfw.cn/yun/ad/getad/1.html", cache: false, success: function(text){ $(".adhtml").html(text); } }); }) </script> </div> </div> </div> </div> </div> </section> <!-- wap拉出按鈕 --> <div id="dnkpnhlp" class="site-tree-mobile layui-hide"> <i class="layui-icon layui-icon-spread-left"></i> </div> <!-- wap遮罩層 --> <div id="dnkpnhlp" class="site-mobile-shade"></div> <!--付費閱讀 --> <div class="dnkpnhlp" id="payread"> <div id="dnkpnhlp" class="layui-form-item">閱讀需要支付1元查看</div> <div id="dnkpnhlp" class="layui-form-item"><button class="btn-right">支付并查看</button></div> </div> <script> var prei=0; $(".site-seo-depict pre").each(function(){ var html=$(this).html().replace("<code>","").replace("</code>","").replace('<code class="javascript hljs" codemark="1">',''); $(this).attr('data-clipboard-text',html).attr("id","pre"+prei); $(this).html("").append("<code>"+html+"</code>"); prei++; }) $(".site-seo-depict img").each(function(){ if($(this).attr("src").indexOf('data:image/svg+xml')!= -1){ $(this).remove(); } }) $("LINK[href*='style-49037e4d27.css']").remove(); $("LINK[href*='markdown_views-d7a94ec6ab.css']").remove(); layui.use(['jquery', 'layer','code'], function(){ $("pre").attr("class","layui-code"); $("pre").attr("lay-title",""); $("pre").attr("lay-skin",""); layui.code(); $(".layui-code-h3 a").attr("class","copycode").html("復制代碼 ").attr("onclick","copycode(this)"); }); function copycode(target){ var id=$(target).parent().parent().attr("id"); var clipboard = new ClipboardJS("#"+id); clipboard.on('success', function(e) { e.clearSelection(); alert("復制成功") }); clipboard.on('error', function(e) { alert("復制失敗") }); } //$(".site-seo-depict").html($(".site-seo-depict").html().slice(0, -5)); </script> <link rel="stylesheet" type="text/css" href="http://www.ezyhdfw.cn/yun/static/js/neweditor/code/styles/tomorrow-night-eighties.css"> <script src="http://www.ezyhdfw.cn/yun/static/js/neweditor/code/highlight.pack.js" type="text/javascript"></script> <script src="http://www.ezyhdfw.cn/yun/static/js/clipboard.js"></script> <script>hljs.initHighlightingOnLoad();</script> <script> function setcode(){ var _html=''; document.querySelectorAll('pre code').forEach((block) => { var _tmptext=$.trim($(block).text()); if(_tmptext!=''){ _html=_html+_tmptext; console.log(_html); } }); } </script> <script> function payread(){ layer.open({ type: 1, title:"付費閱讀", shadeClose: true, content: $('#payread') }); } // 舉報 function jupao_tip(){ layer.open({ type: 1, title:false, shadeClose: true, content: $('#jubao') }); } $(".getcommentlist").click(function(){ var _id=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); $("#articlecommentlist"+_id).toggleClass("hide"); var flag=$("#articlecommentlist"+_id).attr("dataflag"); if(flag==1){ flag=0; }else{ flag=1; //加載評論 loadarticlecommentlist(_id,_tid); } $("#articlecommentlist"+_id).attr("dataflag",flag); }) $(".add-comment-btn").click(function(){ var _id=$(this).attr("dataid"); $(".formcomment"+_id).toggleClass("hide"); }) $(".btn-sendartcomment").click(function(){ var _aid=$(this).attr("dataid"); var _tid=$(this).attr("datatid"); var _content=$.trim($(".commenttext"+_aid).val()); if(_content==''){ alert("評論內(nèi)容不能為空"); return false; } var touid=$("#btnsendcomment"+_aid).attr("touid"); if(touid==null){ touid=0; } addarticlecomment(_tid,_aid,_content,touid); }) $(".button_agree").click(function(){ var supportobj = $(this); var tid = $(this).attr("id"); $.ajax({ type: "GET", url:"http://www.ezyhdfw.cn/yun/index.php?topic/ajaxhassupport/" + tid, cache: false, success: function(hassupport){ if (hassupport != '1'){ $.ajax({ type: "GET", cache:false, url: "http://www.ezyhdfw.cn/yun/index.php?topic/ajaxaddsupport/" + tid, success: function(comments) { supportobj.find("span").html(comments+"人贊"); } }); }else{ alert("您已經(jīng)贊過"); } } }); }); function attenquestion(_tid,_rs){ $.ajax({ //提交數(shù)據(jù)的類型 POST GET type:"POST", //提交的網(wǎng)址 url:"http://www.ezyhdfw.cn/yun/favorite/topicadd.html", //提交的數(shù)據(jù) data:{tid:_tid,rs:_rs}, //返回數(shù)據(jù)的格式 datatype: "json",//"xml", "html", "script", "json", "jsonp", "text". //在請求之前調(diào)用的函數(shù) beforeSend:function(){}, //成功返回之后調(diào)用的函數(shù) success:function(data){ var data=eval("("+data+")"); console.log(data) if(data.code==2000){ layer.msg(data.msg,function(){ if(data.rs==1){ //取消收藏 $(".layui-layer-tips").attr("data-tips","收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart-o"></i>'); } if(data.rs==0){ //收藏成功 $(".layui-layer-tips").attr("data-tips","已收藏文章"); $(".layui-layer-tips").html('<i class="fa fa-heart"></i>') } }) }else{ layer.msg(data.msg) } } , //調(diào)用執(zhí)行后調(diào)用的函數(shù) complete: function(XMLHttpRequest, textStatus){ postadopt=true; }, //調(diào)用出錯執(zhí)行的函數(shù) error: function(){ //請求出錯處理 postadopt=false; } }); } </script> <footer> <div id="dnkpnhlp" class="layui-container"> <div id="dnkpnhlp" class="flex_box_zd"> <div id="dnkpnhlp" class="left-footer"> <h6><a href="http://www.ezyhdfw.cn/"><img src="http://www.ezyhdfw.cn/yun/static/theme/ukd//images/logo.png" alt="UCloud (優(yōu)刻得科技股份有限公司)"></a></h6> <p>UCloud (優(yōu)刻得科技股份有限公司)是中立、安全的云計算服務平臺,堅持中立,不涉足客戶業(yè)務領域。公司自主研發(fā)IaaS、PaaS、大數(shù)據(jù)流通平臺、AI服務平臺等一系列云計算產(chǎn)品,并深入了解互聯(lián)網(wǎng)、傳統(tǒng)企業(yè)在不同場景下的業(yè)務需求,提供公有云、混合云、私有云、專有云在內(nèi)的綜合性行業(yè)解決方案。</p> </div> <div id="dnkpnhlp" class="right-footer layui-hidemd"> <ul class="flex_box_zd"> <li> <h6>UCloud與云服務</h6> <p><a href="http://www.ezyhdfw.cn/site/about/intro/">公司介紹</a></p> <p><a >加入我們</a></p> <p><a href="http://www.ezyhdfw.cn/site/ucan/onlineclass/">UCan線上公開課</a></p> <p><a href="http://www.ezyhdfw.cn/site/solutions.html" >行業(yè)解決方案</a></p> <p><a href="http://www.ezyhdfw.cn/site/pro-notice/">產(chǎn)品動態(tài)</a></p> </li> <li> <h6>友情鏈接</h6> <p><a >GPU算力平臺</a></p> <p><a >UCloud私有云</a></p> <p><a >SurferCloud</a></p> <p><a >工廠仿真軟件</a></p> <p><a >AI繪畫</a></p> <p><a >Wavespeed AI</a></p> </li> <li> <h6>社區(qū)欄目</h6> <p><a href="http://www.ezyhdfw.cn/yun/column/index.html">專欄文章</a></p> <p><a href="http://www.ezyhdfw.cn/yun/udata/">專題地圖</a></p> </li> <li> <h6>常見問題</h6> <p><a href="http://www.ezyhdfw.cn/site/ucsafe/notice.html" >安全中心</a></p> <p><a href="http://www.ezyhdfw.cn/site/about/news/recent/" >新聞動態(tài)</a></p> <p><a href="http://www.ezyhdfw.cn/site/about/news/report/">媒體動態(tài)</a></p> <p><a href="http://www.ezyhdfw.cn/site/cases.html">客戶案例</a></p> <p><a href="http://www.ezyhdfw.cn/site/notice/">公告</a></p> </li> <li> <span><img src="https://static.ucloud.cn/7a4b6983f4b94bcb97380adc5d073865.png" alt="優(yōu)刻得"></span> <p>掃掃了解更多</p></div> </div> <div id="dnkpnhlp" class="copyright">Copyright ? 2012-2025 UCloud 優(yōu)刻得科技股份有限公司<i>|</i><a rel="nofollow" >滬公網(wǎng)安備 31011002000058號</a><i>|</i><a rel="nofollow" ></a> 滬ICP備12020087號-3</a><i>|</i> <script type="text/javascript" src="https://gyfk12.kuaishang.cn/bs/ks.j?cI=197688&fI=125915" charset="utf-8"></script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://#/hm.js?290c2650b305fc9fff0dbdcafe48b59d"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-DZSMXQ3P9N"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-DZSMXQ3P9N'); </script> <script> (function(){ var el = document.createElement("script"); el.src = "https://lf1-cdn-tos.bytegoofy.com/goofy/ttzz/push.js?99f50ea166557aed914eb4a66a7a70a4709cbb98a54ecb576877d99556fb4bfc3d72cd14f8a76432df3935ab77ec54f830517b3cb210f7fd334f50ccb772134a"; el.id = "ttzz"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(el, s); })(window) </script></div> </div> </footer> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.ezyhdfw.cn/" title="亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站 ">亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站 </a> <div class="friend-links"> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="4ugso" class="pl_css_ganrao" style="display: none;"><tfoot id="4ugso"></tfoot><noscript id="4ugso"><nav id="4ugso"><cite id="4ugso"></cite></nav></noscript><em id="4ugso"><strike id="4ugso"><source id="4ugso"></source></strike></em><blockquote id="4ugso"><table id="4ugso"><code id="4ugso"></code></table></blockquote><em id="4ugso"></em><abbr id="4ugso"></abbr><tr id="4ugso"></tr><ul id="4ugso"></ul><pre id="4ugso"><ul id="4ugso"><button id="4ugso"></button></ul></pre><tbody id="4ugso"><nav id="4ugso"><small id="4ugso"></small></nav></tbody><blockquote id="4ugso"></blockquote><center id="4ugso"></center><tr id="4ugso"></tr><abbr id="4ugso"></abbr><small id="4ugso"></small><xmp id="4ugso"><sup id="4ugso"><tr id="4ugso"></tr></sup></xmp><small id="4ugso"></small><source id="4ugso"></source><tr id="4ugso"><td id="4ugso"><button id="4ugso"></button></td></tr><strong id="4ugso"><blockquote id="4ugso"><abbr id="4ugso"></abbr></blockquote></strong><li id="4ugso"></li><object id="4ugso"></object><del id="4ugso"></del><table id="4ugso"><tbody id="4ugso"><ul id="4ugso"></ul></tbody></table><dl id="4ugso"></dl><tbody id="4ugso"></tbody><code id="4ugso"><optgroup id="4ugso"><bdo id="4ugso"></bdo></optgroup></code><samp id="4ugso"></samp><td id="4ugso"><center id="4ugso"><kbd id="4ugso"></kbd></center></td><wbr id="4ugso"></wbr><s id="4ugso"></s><small id="4ugso"></small><cite id="4ugso"></cite><center id="4ugso"></center><tbody id="4ugso"><wbr id="4ugso"><dfn id="4ugso"></dfn></wbr></tbody><em id="4ugso"><bdo id="4ugso"><center id="4ugso"></center></bdo></em><fieldset id="4ugso"><source id="4ugso"><pre id="4ugso"></pre></source></fieldset><object id="4ugso"></object><abbr id="4ugso"></abbr><small id="4ugso"></small><optgroup id="4ugso"></optgroup><input id="4ugso"></input><abbr id="4ugso"></abbr><rt id="4ugso"><acronym id="4ugso"><cite id="4ugso"></cite></acronym></rt><pre id="4ugso"><blockquote id="4ugso"><abbr id="4ugso"></abbr></blockquote></pre><acronym id="4ugso"></acronym><samp id="4ugso"></samp><pre id="4ugso"></pre><bdo id="4ugso"></bdo><dfn id="4ugso"><samp id="4ugso"><pre id="4ugso"></pre></samp></dfn></div> <script src="http://www.ezyhdfw.cn/yun/static/theme/ukd/js/common.js"></script> <<script type="text/javascript"> $(".site-seo-depict *,.site-content-answer-body *,.site-body-depict *").css("max-width","100%"); </script> </html>