国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

高程3總結(jié)#第10章DOM

ARGUS / 1481人閱讀

摘要:類型對(duì)象是的一個(gè)實(shí)例,表示整個(gè)頁面,而且,對(duì)象是對(duì)象的一個(gè)屬性,因此可以將其作為全局對(duì)象來訪問。刪除指定位置的行。創(chuàng)建創(chuàng)建創(chuàng)建第一行創(chuàng)建第二行將表格添加到文檔主體中

DOM 節(jié)點(diǎn)層次 Node類型

DOM1級(jí)定義了一個(gè)Node接口,該接口將由DOM中的所有節(jié)點(diǎn)類型實(shí)現(xiàn)

節(jié)點(diǎn)類型由在Node類型中定義的12個(gè)數(shù)值常量來表示,任何節(jié)點(diǎn)類型必居其一

Node.ELEMENT_NODE();

Node.ATTRIBUTE_NODE();

Node.TEXT_NODE();

Node.CDATA_SECTION_NODE();

Node.ENTITY_REFERENCE_NODE();

Node.ENTITY_NODE();

Node.PROCESSING_INSTRUCTION_NODE();

Node.COMMENT_NODE();

Node.DOCUMENT_NODE();

Node.DOCUMENT_TYPE_NODE();

Node.DOCUMENT_FRAGMENT_NODE();

Node.NOTATION_NODE();

使用nodeName和nodeValue檢測(cè)節(jié)點(diǎn)類型

節(jié)點(diǎn)關(guān)系,保存NodeList對(duì)象,是一種數(shù)組對(duì)象,用于保存一組有序的節(jié)點(diǎn),可以通過位置來訪問這些節(jié)點(diǎn)。

childNodes

var firstChild=someNode.childNodes();
var secondChild=someNode.childNodes.item();
var count=someNode.childNodes.length();

parentNode,每個(gè)節(jié)點(diǎn)都有parentNode屬性,屬性指向文檔樹的節(jié)點(diǎn),包含在childNodes列表中的所有節(jié)點(diǎn)都具有相同的父節(jié)點(diǎn),因此它們的parentNode屬性都指向同一個(gè)節(jié)點(diǎn)。此外包含在childNodes列表中的每個(gè)節(jié)點(diǎn)相互之間都是同胞節(jié)點(diǎn)。

通過使用列表中每個(gè)節(jié)點(diǎn)的previousSibling和nextSibling屬性可以訪問同一列表中的其他節(jié)點(diǎn)。列表中第一個(gè)節(jié)點(diǎn)的previousSibling屬性值為null,而列表中最后一個(gè)節(jié)點(diǎn)nextSibling屬性的值同樣也為null

父節(jié)點(diǎn)的firstChild和lastChild屬性分別指向childNodes列表中的第一個(gè)和最后一個(gè)節(jié)點(diǎn)。

操作節(jié)點(diǎn)

appendChild(),向childNodes列表的末尾添加一個(gè)節(jié)點(diǎn)。添加節(jié)點(diǎn)之后,childNodes的新曾節(jié)點(diǎn)、父節(jié)點(diǎn)以及以前的最后一個(gè)子節(jié)點(diǎn)的關(guān)系都會(huì)相應(yīng)地得到更新

//someNode 有多個(gè)子節(jié)點(diǎn)
var returnedNode = someNode.appendChild(someNode.firstChild);
alert(returnedNode == someNode.firstChild); //false
alert(returnedNode == someNode.lastChild); //true

insertBefore(),把節(jié)點(diǎn)放在childNodes列表中某個(gè)特定的位置上。接收兩個(gè)參數(shù),要插入的點(diǎn)和作為參照的節(jié)點(diǎn)

//插入后成為最后一個(gè)子節(jié)點(diǎn)
returnedNode = someNode.insertBefore(newNode, null);
alert(newNode == someNode.lastChild); //true
//插入后成為第一個(gè)子節(jié)點(diǎn)
var returnedNode = someNode.insertBefore(newNode, someNode.firstChild);
alert(returnedNode == newNode); //true
alert(newNode == someNode.firstChild); //true
//插入到最后一個(gè)子節(jié)點(diǎn)前面
returnedNode = someNode.insertBefore(newNode, someNode.lastChild);
alert(newNode == someNode.childNodes[someNode.childNodes.length-2]); //true

replaceChild(),替換節(jié)點(diǎn)。接收兩個(gè)參數(shù),要插入的節(jié)點(diǎn)和要替換的節(jié)點(diǎn),要替換的節(jié)點(diǎn)將由這個(gè)方法返回并從文檔樹中移除,同時(shí)由要插入的節(jié)點(diǎn)占據(jù)其位置

//替換第一個(gè)子節(jié)點(diǎn)
var returnedNode = someNode.replaceChild(newNode, someNode.firstChild);
//替換最后一個(gè)子節(jié)點(diǎn)
returnedNode = someNode.replaceChild(newNode, someNode.lastChild);

removeChild(),移除節(jié)點(diǎn),接收一個(gè)參數(shù),即要移除的節(jié)點(diǎn)。

//移除第一個(gè)子節(jié)點(diǎn)
var formerFirstChild = someNode.removeChild(someNode.firstChild);
//移除最后一個(gè)子節(jié)點(diǎn)
var formerLastChild = someNode.removeChild(someNode.lastChild);

cloneNode(),接收一個(gè)布爾值參數(shù),表示是否執(zhí)行深復(fù)制,在參數(shù)為true的情況下,執(zhí)行深復(fù)制,也就是復(fù)制節(jié)點(diǎn)及其整個(gè)子節(jié)點(diǎn)樹,在參數(shù)為false的情況下,執(zhí)行淺復(fù)制,即只復(fù)制節(jié)點(diǎn)本身。

Document類型

document對(duì)象是HTMLDocument的一個(gè)實(shí)例,表示整個(gè)HTML頁面,而且,document對(duì)象是window對(duì)象的一個(gè)屬性,因此可以將其作為全局對(duì)象來訪問。

nodeType值為9

nodeName值為"#document"

nodeValue值為null

parentNode值為null

ownerDocument值為null

document對(duì)象有一些標(biāo)準(zhǔn)的Document對(duì)象所沒有的屬性,這些屬性提供了document對(duì)象所表現(xiàn)的網(wǎng)頁的一些信息

//取得文檔標(biāo)題
var originalTitle = document.title;
//設(shè)置文檔標(biāo)題
document.title = "New page title";
//取得完整的 URL
var url = document.URL;
//取得域名
var domain = document.domain;
//取得來源頁面的 URL
var referrer = document.referrer;

查找元素,getElementById()、getElementByTagName()和getElementByName()

特殊集合

document.anchors,包含文檔中所有帶name特性的元素

document.applets,包含文檔中所有的元素,因?yàn)椴辉偻扑]使用元素,所以這個(gè)集合不再使用

document.forms,包含文檔中所有的

元素

document.images,包含文檔中所有的元素

document.links,包含文檔中所有帶href特性的元素

文檔寫入功能,write()、writeln()、open()和close()


  
    document.write() Example
  
  
    

The current date and time is:

Element類型

用于表現(xiàn)XML或HTML元素,提供了對(duì)元素標(biāo)簽名、子節(jié)點(diǎn)及特性的訪問

nodeType值為1

nodeName值為元素的標(biāo)簽名

nodeValue值為null

parentNode可能是Document或Element

HTML元素存在一些標(biāo)準(zhǔn)特性

id,元素在文檔中唯一的標(biāo)識(shí)符

title,有關(guān)元素的附加說明信息,一般通過工具提示條顯示出來

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

dir,語言的方向

className,與元素的class特性對(duì)應(yīng)

取得特性,設(shè)置屬性,移除屬性。getAttribute()、setAttribute()和removeAttribute()

var div = document.getElementById("myDiv");
alert(div.getAttribute("id")); //"myDiv"
alert(div.getAttribute("class")); //"bd"
alert(div.getAttribute("title")); //"Body text"
alert(div.getAttribute("lang")); //"en"
alert(div.getAttribute("dir")); //"ltr"

div.setAttribute("id", "someOtherId");
div.setAttribute("class", "ft");
div.setAttribute("title", "Some other text");
div.setAttribute("lang","fr");
div.setAttribute("dir", "rtl");

div.removeAttribute("class");

attribute屬性

var id = element.attributes.getNamedItem("id").nodeValue;
var id = element.attributes["id"].nodeValue;
element.attributes["id"].nodeValue = "someOtherId";
var oldAttr = element.attributes.removeNamedItem("id");
element.attributes.setNamedItem(newAttr);

創(chuàng)建元素,createElement(),標(biāo)簽名在HTML文檔中不區(qū)分大小寫,在XML文檔中,區(qū)分大小寫。

Text類型

包含的是照字面解釋的純文本的內(nèi)容

nodeType值為3

nodeName值為"#text"

nodeValue值為節(jié)點(diǎn)所包含的文本

parentNode是一個(gè)Element

不支持子節(jié)點(diǎn)

操作方法

appendData(text)將text添加到節(jié)點(diǎn)的末尾

deleteData(offset,count)從offset指定的位置開始刪除count個(gè)字符

insertData(offset,text)從offset指定的位置插入text

replaceData(offset,count,text)用text替換從offset指定的位置開始到offset+count為止處的文本

splitText(offset)從offset指定的位置將當(dāng)前文本節(jié)點(diǎn)分成兩個(gè)文本節(jié)點(diǎn)

substringData(offset,count)提取從offset指定的位置開始到offset+count為止處的字符串

創(chuàng)建文本節(jié)點(diǎn)document.createTextNode()

var element = document.createElement("div");
element.className = "message";
var textNode = document.createTextNode("Hello world!");
element.appendChild(textNode);
document.body.appendChild(element);

規(guī)范化文本節(jié)點(diǎn)normalize()

var element = document.createElement("div");
element.className = "message";
var textNode = document.createTextNode("Hello world!");
element.appendChild(textNode);
var anotherTextNode = document.createTextNode("Yippee!");
element.appendChild(anotherTextNode);
document.body.appendChild(element);
alert(element.childNodes.length); //2
element.normalize();
alert(element.childNodes.length); //1
alert(element.firstChild.nodeValue); // "Hello world!Yippee!"

分割文本節(jié)點(diǎn)splitText()

var element = document.createElement("div");
element.className = "message";
var textNode = document.createTextNode("Hello world!");
element.appendChild(textNode);
document.body.appendChild(element);
var newNode = element.firstChild.splitText(5);
alert(element.firstChild.nodeValue); //"Hello"
alert(newNode.nodeValue); //" world!"
alert(element.childNodes.length); //2

Comment類型

注釋在DOM中通過Comment類型來表示

nodeType值為8

nodeName值為"#comment"

nodeValue值是注釋的內(nèi)容

parentNode可能是Document或Element

不支持子節(jié)點(diǎn)

COmment類型與Text類型繼承自相同的基類,因此它擁有splitText()之外的所有字符串操作方法。與Text類型相似,也可以通過nodeValue或data屬性類取得注釋的內(nèi)容。

使用document.createCommet()并為其傳遞注釋文本也可以創(chuàng)建注釋節(jié)點(diǎn)

var comment=document.createComment("A comment")

CDATASection類型

與Comment類似,繼承自Text類型,擁有除splitText()之外的所有字符串操作方法

nodeType值為4

nodeName值為"#cdata-section"

nodeValue值為CDATA區(qū)域中的內(nèi)容

parentNode可能是Document或Element

DocumentType類型

包含著與文檔的doctype有關(guān)的所有信息

nodeType值為10

nodeName值為doctype的名稱

nodeValue值為null

parentNode是Document

不支持子節(jié)點(diǎn)

DocumentFragment類型

輕量級(jí)文檔,可以包含和控制節(jié)點(diǎn),不會(huì)像完整的文檔那樣占用額外的資源

nodeType值為11

nodeName值為"#document-fragement"

nodeValue值為null

parentNode值為null

Attr類型

特性是存在于元素的attribute屬性中的節(jié)點(diǎn)

nodeType值為2

nodeName值是特性的名稱

nodeValue值為特性的值

parentNode值為null

在HTML中不支持子節(jié)點(diǎn)

在XML中子節(jié)點(diǎn)可以是Text或EntityReference

DOM操作技術(shù) 動(dòng)態(tài)腳本

頁面加載時(shí)不存在,但將來的某一時(shí)刻通過修改DOM動(dòng)態(tài)添加的腳本。兩種方式創(chuàng)建:插入外部文件和直接插入JavaScript代碼

動(dòng)態(tài)樣式

能夠把CSS樣式包含到HTML頁面中的元素有兩個(gè),其中元素用于包含來自外部的文件,而

      <