摘要:能夠改變頁(yè)面中的所有元素能夠改變頁(yè)面中的所有屬性能夠改變頁(yè)面中的所有樣式能夠?qū)?yè)面中的所有事件做出反應(yīng)我們需要通過(guò)操作元素,查找這些元素有三種方法通過(guò)查找通過(guò)標(biāo)簽名查找通過(guò)類名查找允許改變?cè)氐膬?nèi)容。,如使有能力對(duì)事件做出反應(yīng)。
通過(guò)html dom可以訪問(wèn)javascript html文檔的所有元素。
當(dāng)網(wǎng)頁(yè)被加載時(shí),瀏覽器會(huì)創(chuàng)建頁(yè)面的文檔對(duì)象模型(Document Object Model)。
通過(guò)可編程的對(duì)象模型,JavaScript 獲得了足夠的能力來(lái)創(chuàng)建動(dòng)態(tài)的 HTML。
JavaScript 能夠改變頁(yè)面中的所有 HTML 元素
JavaScript 能夠改變頁(yè)面中的所有 HTML 屬性
JavaScript 能夠改變頁(yè)面中的所有 CSS 樣式
JavaScript 能夠?qū)?yè)面中的所有事件做出反應(yīng)
我們需要通過(guò)javascript操作html元素,查找這些html元素有三種方法:
1.通過(guò)id查找:
var doc=document.getElementById("idName");
2.通過(guò)標(biāo)簽名查找:
var doc=document.getElementsByTagName("tagName");
3.通過(guò)類名查找:
var doc = document.getElementsByClassName("className");
html dom允許javascript改變html元素的內(nèi)容。
1.改變html輸出流
在javascript中,document.write()可用于直接向html輸出流直接寫(xiě)內(nèi)容。
tip:絕不要使用在文檔加載之后使用 document.write()。這會(huì)覆蓋該文檔。
2.改變html內(nèi)容
修改html內(nèi)容的最簡(jiǎn)單的方法是使用innerHTML屬性。如:
document.getElementById(idName).innerHTML="文本內(nèi)容"
3.改變html屬性
document.getElementById(id).attribute="new value",如:
document.getElementById(idName).src = "location.png"
html dom允許javascript改變html元素樣式。
document.getElementById(id).style.property=new style,如:
document.getElementById(idName).style.color="red";
html dom使javascript有能力對(duì)html事件做出反應(yīng)。
你可以使用事件屬性,比如:
你也可以使用javascript來(lái)向html元素分配事件,比如:
document.getElementById("idName").onclick=function(){...};
添加和刪除節(jié)點(diǎn)(HTML 元素)。(重點(diǎn)溫習(xí)的內(nèi)容)
如需向html dom添加新元素,必須先添加元素節(jié)點(diǎn),然后向該元素追加元素節(jié)點(diǎn)。
var para=document.createElement("p");
var node=document.createTextNode("這是新段落。");
para.appendChild(node);
var element=document.getElementById("div1");
element.appendChild(para);
上述操作有三個(gè)步驟:
1.創(chuàng)建新的
元素
2.創(chuàng)建文本節(jié)點(diǎn)
3.向已有的元素追加新元素
當(dāng)然上面也可以不創(chuàng)建新的元素,直接添加到已有的元素中,比如:
var eleNode = document.createTextNode("這是新段落");
document.getElementById("div1").appendChild(eleNode);
常用的dom對(duì)象方法:
在html dom(文檔對(duì)象模型)中,每個(gè)部分都是節(jié)點(diǎn):
文檔本身是文檔節(jié)點(diǎn)
所有 HTML 元素是元素節(jié)點(diǎn)
所有 HTML 屬性是屬性節(jié)點(diǎn)
HTML 元素內(nèi)的文本是文本節(jié)點(diǎn)
注釋是注釋節(jié)點(diǎn)
在html dom中,element對(duì)象表示html元素,下面這些屬性和方法可用于所有HTML元素上。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/50512.html
摘要:對(duì)于復(fù)雜的業(yè)務(wù)需求仍然需要一些操作。使用方式很簡(jiǎn)單,但是你需要?jiǎng)?chuàng)建一個(gè)獨(dú)立文件,重新掛載需要的方法到命名空間上,這在編寫(xiě)插件時(shí)非常有用。正如前文所說(shuō),的操作在我看來(lái)依然是最好用的,所以,你不需要,但你需要一個(gè)庫(kù)。 showImg(https://segmentfault.com/img/bVbuPEH?w=750&h=375); 寫(xiě)這篇文章的目的,一方面是介紹一下自己編寫(xiě)的模塊化 DO...
摘要:依舊采取傳統(tǒng)的開(kāi)發(fā)技術(shù)棧進(jìn)行開(kāi)發(fā),同時(shí)在終端的運(yùn)行體驗(yàn)不輸。首先來(lái)看下前端開(kāi)發(fā)框架目前與構(gòu)成了三大最流行的前端開(kāi)發(fā)框架,具有組件化以及三大特性,還學(xué)習(xí)的,引入了狀態(tài)管理模塊。 摘要: WEEX依舊采取傳統(tǒng)的web開(kāi)發(fā)技術(shù)棧進(jìn)行開(kāi)發(fā),同時(shí)app在終端的運(yùn)行體驗(yàn)不輸native app。其同時(shí)解決了開(kāi)發(fā)效率、發(fā)版速度以及用戶體驗(yàn)三個(gè)核心問(wèn)題。那么WEEX是如何實(shí)現(xiàn)的?目前WEEX已經(jīng)完全開(kāi)...
摘要:對(duì)象存儲(chǔ)在中,如果想直接在對(duì)象上操作,可以正確總結(jié)一下,這里我們也只是用原生簡(jiǎn)單的實(shí)現(xiàn)了下鏈?zhǔn)讲僮鳎鼜?fù)雜的功能,比如對(duì)象緩存,異常處理等等,都需要后續(xù)再完善處理。 在jQuery中,一個(gè)jq對(duì)象能一直連續(xù)調(diào)用各種方法,因?yàn)閖Query把這些方法掛載他自定義的一個(gè)對(duì)象中,但是使用原生的js獲取的DOM對(duì)象,只能使用一次addEventLisenter方法添加事件,如果要接著添加事件,還...
摘要:而由于級(jí)標(biāo)準(zhǔn)中并沒(méi)有定義事件相關(guān)的內(nèi)容,所以事件級(jí)別只包括級(jí),級(jí)和級(jí)三種。此屬性返回當(dāng)前事件所綁定的對(duì)象。自定義事件可以綁定到任意元素上,此處選擇只是為了演示方便。 前端學(xué)習(xí)的東西有很多,現(xiàn)代前端開(kāi)發(fā),前端工程化的東西要懂,基礎(chǔ)的原生js也要懂,畢竟,框架都是有生命周期的,更替非常快,然而卻有這么一個(gè)框架,它是最輕量的前端框架,每個(gè)瀏覽器都內(nèi)置,它叫vanilla.js。好吧,其實(shí)va...
閱讀 1968·2021-09-04 16:45
閱讀 754·2019-08-30 15:44
閱讀 901·2019-08-30 13:07
閱讀 461·2019-08-29 16:06
閱讀 1385·2019-08-29 13:43
閱讀 1275·2019-08-26 17:00
閱讀 1530·2019-08-26 13:51
閱讀 2301·2019-08-26 11:48