js DOM基礎(chǔ)
<!
DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"
>
< html >
?? < head >
???? < meta? http-equiv ="keywords" ?content ="keyword1,keyword2,keyword3" >
???? < meta? http-equiv ="description" ?content ="this?is?my?page" >
???? < meta? http-equiv ="content-type" ?content ="text/html;?charset=UTF-8" >
????
???? <!-- <link?rel="stylesheet"?type="text/css"?href="./styles.css"> -->
???? < title > Shopping?list </ title >
???? < style? type ="text/css" >
????????p {
????????????color : yellow ;
???????? }
???? </ style >
?? </ head >
?? <!-- ?
??????DOM的工作模式:先加載文檔的靜態(tài)內(nèi)容,再以動態(tài)方式對他們進(jìn)行刷新,動態(tài)刷新不影響文檔的靜態(tài)內(nèi)容.
??????????????????對頁面內(nèi)容的刷新不需要用戶在他們的瀏覽器里執(zhí)行頁面刷新操作就可以實(shí)現(xiàn)
??? -->
?? < body >
?? <!-- ?
??????????文檔是由節(jié)點(diǎn)構(gòu)成的,在dom中存在許多不同類型的節(jié)點(diǎn)。????
??????????元素節(jié)點(diǎn):DOM的原子是元素節(jié)點(diǎn),如果把web上的文檔比較一座大廈,元素就是大廈的磚塊.
??????????????????這些元素的在文檔中的布局形成了文檔的布局.
??????????????????各種標(biāo)簽提供元素的名字.如<p>,<div>等.
??????????????????元素可以包含其他元素,沒有被包含在其他元素中的唯一元素是<html>,它是我們節(jié)點(diǎn)樹的根元素.
??????????文本節(jié)點(diǎn):文本節(jié)點(diǎn)總是包含的元素節(jié)點(diǎn)的內(nèi)部,但并不是所有的元素節(jié)點(diǎn)都包含有文本節(jié)點(diǎn).
??????????屬性節(jié)點(diǎn):元素都或多或少地有一些屬性,屬性的作用是對元素做出更具體的描述。
??????????????????例如,幾乎所有的元素都有一個title屬性,而我們可以利用這個屬性對包含在元素里的東西做出準(zhǔn)確的描述
??????????????????屬性總是被放在起始標(biāo)簽里,所以屬性節(jié)點(diǎn)總是被包含在元素節(jié)點(diǎn)當(dāng)中。
??
??? -->
?????? < h1 > what?to?buy </ h1 >
?????? < p title ="a?gentle?reminder" > Don't?forget?to?buy?this?stuff </ p >
?????? < ul? id ="purchases" >
?????????? < li > Cheese </ li >
?????????? < li > Milk </ li >
?????????? < li > Apple </ li >
?????? </ ul >
?????? <!-- ?
??????????document.getElementById("元素屬性id"):返回一個對象,這個對象對應(yīng)DOM中獨(dú)一無二的元素.
??????????getElementsByTagName("標(biāo)簽的名字tag")?:返回一個對象數(shù)組.
???????????????????????????????????????????????方法允許我們把一個通配符當(dāng)為它的參數(shù),如想知道文檔中有多少個元素節(jié)點(diǎn)
???????????????????????????????????????????????使用document.getElementsByTagName("*").length;?
??????????????????getElementById()和getElementsByTagName()方法結(jié)合起來運(yùn)用:
??????????????????????????????????????????????????var?shopping=document.getElementById("purchases");
??????????????????????????????????????????????????var?items=shopping.getElementsByTagName("*");
??????????????????????
??????????object.getAttribute(attribute):返回對象的屬性值.getAttribute()不能通過document對象調(diào)用,只能通過元素節(jié)點(diǎn)調(diào)用它.
??????????????????
??????????object.setAttribute(attibute,value):設(shè)置對象的屬性值,只能通過元素節(jié)點(diǎn)對象調(diào)用的函數(shù).
??????????????????????????????????????????????setAttribute()方法做出的修改不會反映在文檔本身的源代碼里
??????????element.childNodes:返回一個數(shù)組,這個數(shù)組包含給定元素節(jié)點(diǎn)的全部子節(jié)點(diǎn).
??????? -->
?? </ body >
</ html >
< html >
?? < head >
???? < meta? http-equiv ="keywords" ?content ="keyword1,keyword2,keyword3" >
???? < meta? http-equiv ="description" ?content ="this?is?my?page" >
???? < meta? http-equiv ="content-type" ?content ="text/html;?charset=UTF-8" >
????
???? <!-- <link?rel="stylesheet"?type="text/css"?href="./styles.css"> -->
???? < title > Shopping?list </ title >
???? < style? type ="text/css" >
????????p {
????????????color : yellow ;
???????? }
???? </ style >
?? </ head >
?? <!-- ?
??????DOM的工作模式:先加載文檔的靜態(tài)內(nèi)容,再以動態(tài)方式對他們進(jìn)行刷新,動態(tài)刷新不影響文檔的靜態(tài)內(nèi)容.
??????????????????對頁面內(nèi)容的刷新不需要用戶在他們的瀏覽器里執(zhí)行頁面刷新操作就可以實(shí)現(xiàn)
??? -->
?? < body >
?? <!-- ?
??????????文檔是由節(jié)點(diǎn)構(gòu)成的,在dom中存在許多不同類型的節(jié)點(diǎn)。????
??????????元素節(jié)點(diǎn):DOM的原子是元素節(jié)點(diǎn),如果把web上的文檔比較一座大廈,元素就是大廈的磚塊.
??????????????????這些元素的在文檔中的布局形成了文檔的布局.
??????????????????各種標(biāo)簽提供元素的名字.如<p>,<div>等.
??????????????????元素可以包含其他元素,沒有被包含在其他元素中的唯一元素是<html>,它是我們節(jié)點(diǎn)樹的根元素.
??????????文本節(jié)點(diǎn):文本節(jié)點(diǎn)總是包含的元素節(jié)點(diǎn)的內(nèi)部,但并不是所有的元素節(jié)點(diǎn)都包含有文本節(jié)點(diǎn).
??????????屬性節(jié)點(diǎn):元素都或多或少地有一些屬性,屬性的作用是對元素做出更具體的描述。
??????????????????例如,幾乎所有的元素都有一個title屬性,而我們可以利用這個屬性對包含在元素里的東西做出準(zhǔn)確的描述
??????????????????屬性總是被放在起始標(biāo)簽里,所以屬性節(jié)點(diǎn)總是被包含在元素節(jié)點(diǎn)當(dāng)中。
??
??? -->
?????? < h1 > what?to?buy </ h1 >
?????? < p title ="a?gentle?reminder" > Don't?forget?to?buy?this?stuff </ p >
?????? < ul? id ="purchases" >
?????????? < li > Cheese </ li >
?????????? < li > Milk </ li >
?????????? < li > Apple </ li >
?????? </ ul >
?????? <!-- ?
??????????document.getElementById("元素屬性id"):返回一個對象,這個對象對應(yīng)DOM中獨(dú)一無二的元素.
??????????getElementsByTagName("標(biāo)簽的名字tag")?:返回一個對象數(shù)組.
???????????????????????????????????????????????方法允許我們把一個通配符當(dāng)為它的參數(shù),如想知道文檔中有多少個元素節(jié)點(diǎn)
???????????????????????????????????????????????使用document.getElementsByTagName("*").length;?
??????????????????getElementById()和getElementsByTagName()方法結(jié)合起來運(yùn)用:
??????????????????????????????????????????????????var?shopping=document.getElementById("purchases");
??????????????????????????????????????????????????var?items=shopping.getElementsByTagName("*");
??????????????????????
??????????object.getAttribute(attribute):返回對象的屬性值.getAttribute()不能通過document對象調(diào)用,只能通過元素節(jié)點(diǎn)調(diào)用它.
??????????????????
??????????object.setAttribute(attibute,value):設(shè)置對象的屬性值,只能通過元素節(jié)點(diǎn)對象調(diào)用的函數(shù).
??????????????????????????????????????????????setAttribute()方法做出的修改不會反映在文檔本身的源代碼里
??????????element.childNodes:返回一個數(shù)組,這個數(shù)組包含給定元素節(jié)點(diǎn)的全部子節(jié)點(diǎn).
??????? -->
?? </ body >
</ html >