最簡單的方法就是用元素的innerHTML屬性賦值,如:myNewElement.innerHTML = “我是文本”;但這樣不能清晰的體現(xiàn)DOM中新增加了一個(gè)文本節(jié)點(diǎn)。
成都創(chuàng)新互聯(lián)公司是專業(yè)的蚌埠網(wǎng)站建設(shè)公司,蚌埠接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行蚌埠網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
然后另一種添加文本節(jié)點(diǎn)的方式,可分為兩步:
1、創(chuàng)建節(jié)點(diǎn):文本節(jié)點(diǎn)的創(chuàng)建使用createTextNode方法,如:var myText = document.createTextNode(“我是文本”);
2、將創(chuàng)建的節(jié)點(diǎn)用appendChild方法添加某個(gè)元素下。如:myNewElement.appendChild(myText);這樣myNewElement就有myText的文本節(jié)點(diǎn),文本節(jié)點(diǎn)的內(nèi)容是“我是文本”即可。
獲取屬性節(jié)點(diǎn)
第一種方法:獲取官方定義的屬性節(jié)點(diǎn)(獲取元素的對(duì)應(yīng)屬性值)。
格式:元素節(jié)點(diǎn),屬性名。
注意:不能獲取自定義屬性的值。
代碼如下:
console.log(jsInput.placeholder);
alert("是時(shí)候展現(xiàn)真正的技術(shù)");
設(shè)置屬性節(jié)點(diǎn)的值
公式:元素節(jié)點(diǎn) . 屬性名 = 新的屬性值
代碼如下:
//設(shè)置元素對(duì)應(yīng)屬性的值
//元素節(jié)點(diǎn).屬性名 = 新的屬性值
jsInput.placeholder = "sunck good";
第二種方法
公式:元素節(jié)點(diǎn) . getAttribute(屬性名);
注意:還可以獲取自定義屬性的值。
代碼:
console.log(jsInput.getAttribute("my"));
設(shè)置自定屬性的值
公式:元素節(jié)點(diǎn) . setAttribute(屬性名, 新屬性值);
注意:當(dāng)屬性不存在時(shí),變?yōu)樘砑訉傩?/p>
代碼:
//設(shè)置
//元素節(jié)點(diǎn).setAttribute(屬性名, 新屬性值);
jsInput.setAttribute("my", "sunck");
//注意:當(dāng)屬性不存在時(shí),變?yōu)樘砑訉傩?/p>
jsInput.setAttribute("other", "sunck");
刪除屬性節(jié)點(diǎn)
公式:元素節(jié)點(diǎn).removeAttribute(屬性名);
注意:某些低版本瀏覽器不支持
代碼:
jsInput.removeAttribute("other");
console.log(jsInput);
div?class="attr-class"?id="attr-id"
這是文本
/div
javascript DOM節(jié)點(diǎn)有多種類型,我們常用的有(對(duì)應(yīng)上述html片段):
元素節(jié)點(diǎn) [div]
屬性節(jié)點(diǎn) [class、id]
文本節(jié)點(diǎn) [這是文本]
元素是統(tǒng)稱;節(jié)點(diǎn)是具有唯一性的;元素節(jié)點(diǎn)和文本節(jié)點(diǎn)之間存在父子關(guān)系,元素節(jié)點(diǎn)和屬性節(jié)點(diǎn)之間不存在父子關(guān)系。
元素:
就是html文檔里,所有的標(biāo)簽都可以稱之為元素,比如說p、tr等,意思是說元素是個(gè)統(tǒng)稱,一個(gè)文檔里面有很多的元素。
節(jié)點(diǎn):
就是js為了對(duì)html文檔進(jìn)行操作,而開發(fā)的,也就是DOM,文檔對(duì)象模型。即每個(gè)元素都可以稱之為一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)是唯一的。
文檔對(duì)象模型(Document Object Model,簡稱DOM),是W3C組織推薦的處理可擴(kuò)展置標(biāo)語言的標(biāo)準(zhǔn)編程接口。它是一種與平臺(tái)和語言無關(guān)的應(yīng)用程序接口(API),它可以動(dòng)態(tài)地訪問程序和腳本,更新其內(nèi)容、結(jié)構(gòu)和www文檔的風(fēng)格(目前,HTML和XML文檔是通過說明部分定義的)。文檔可以進(jìn)一步被處理,處理的結(jié)果可以加入到當(dāng)前的頁面。DOM是一種基于樹的API文檔,它要求在處理過程中整個(gè)文檔都表示在存儲(chǔ)器中。另外一種簡單的API是基于事件的SAX,它可以用于處理很大的XML文檔,由于大,所以不適合全部放在存儲(chǔ)器中處理。
一般地,節(jié)點(diǎn)至少擁有nodeType、nodeName和nodeValue這三個(gè)基本屬性。
節(jié)點(diǎn)類型不同,這三個(gè)屬性的值也不相同
nodeType
nodeType屬性返回節(jié)點(diǎn)類型的常數(shù)值。不同的類型對(duì)應(yīng)不同的常數(shù)值,12種類型分別對(duì)應(yīng)1到12的常數(shù)值
元素節(jié)點(diǎn) Node.ELEMENT_NODE(1)
屬性節(jié)點(diǎn) Node.ATTRIBUTE_NODE(2)
文本節(jié)點(diǎn) Node.TEXT_NODE(3)
CDATA節(jié)點(diǎn) Node.CDATA_SECTION_NODE(4)
實(shí)體引用名稱節(jié)點(diǎn) Node.ENTRY_REFERENCE_NODE(5)
實(shí)體名稱節(jié)點(diǎn) Node.ENTITY_NODE(6)
處理指令節(jié)點(diǎn) Node.PROCESSING_INSTRUCTION_NODE(7)
注釋節(jié)點(diǎn) Node.COMMENT_NODE(8)
文檔節(jié)點(diǎn) Node.DOCUMENT_NODE(9)
文檔類型節(jié)點(diǎn) Node.DOCUMENT_TYPE_NODE(10)
文檔片段節(jié)點(diǎn) Node.DOCUMENT_FRAGMENT_NODE(11)
DTD聲明節(jié)點(diǎn) Node.NOTATION_NODE(12)
DOM定義了一個(gè)Node接口,這個(gè)接口在javascript中是作為Node類型實(shí)現(xiàn)的,而在IE8-瀏覽器中的所有DOM對(duì)象都是以COM對(duì)象的形式實(shí)現(xiàn)的。所以,IE8-瀏覽器并不支持Node對(duì)象的寫法