JavaScript HTML DOM µ¼º½
ͨ¹ý HTML DOM£¬ÄúÄܹ»Ê¹ÓÃ½Úµã¹ØÏµÀ´µ¼º½½ÚµãÊ÷¡£
DOM ½Úµã
¸ù¾Ý W3C HTML DOM ±ê×¼£¬HTML ÎĵµÖеÄËùÓÐÊÂÎï¶¼Êǽڵ㣺
- Õû¸öÎĵµÊÇÎĵµ½Úµã
- ÿ¸ö HTML ÔªËØÊÇÔªËØ½Úµã
- HTML ÔªËØÄÚµÄÎı¾ÊÇÎı¾½Úµã
- ÿ¸ö HTML ÊôÐÔÊÇÊôÐÔ½Úµã
- ËùÓÐ×¢ÊÍÊÇ×¢Êͽڵã

ÓÐÁË HTML DOM£¬½ÚµãÊ÷ÖеÄËùÓнڵ㶼ÄÜͨ¹ý JavaScript ·ÃÎÊ¡£
Äܹ»´´½¨Ð½ڵ㣬»¹¿ÉÒÔÐ޸ĺÍɾ³ýËùÓнڵ㡣
½Úµã¹ØÏµ
½ÚµãÊ÷ÖеĽڵã±Ë´ËÖ®¼äÓÐÒ»¶¨µÄµÈ¼¶¹ØÏµ¡£
- ÊõÓ¸¸¡¢×ÓºÍͬ°û£¬parent¡¢child ÒÔ¼° sibling£©ÓÃÓÚÃèÊöÕâЩ¹ØÏµ¡£
- ÔÚ½ÚµãÊ÷ÖУ¬¶¥¶Ë½Úµã±»³ÆÎª¸ù£¨¸ù½Úµã£©¡£
- ÿ¸ö½Úµã¶¼Óи¸½Úµã£¬³ýÁ˸ù£¨¸ù½ÚµãûÓи¸½Úµã£©¡£
- ½ÚµãÄܹ»ÓµÓÐÒ»¶¨ÊýÁ¿µÄ×Ó
- ͬ°û£¨Ðֵܻò½ãÃã©Ö¸µÄÊÇÓµÓÐÏàͬ¸¸µÄ½Úµã¡£
<html> <head> <title>DOM ½Ì³Ì</title> </head> <body> <h1>DOM µÚÒ»¿Î</h1> <p>Hello world!</p> </body> </html>

´ÓÒÔÉ쵀 HTML ÖÐÄúÄܶÁµ½ÒÔÏÂÐÅÏ¢£º
- <html> ÊǸù½Úµã
- <html> ûÓи¸
- <html> ÊÇ <head> ºÍ <body> µÄ¸¸
- <head> ÊÇ <html> µÄµÚÒ»¸ö×Ó
- <body> ÊÇ <html> µÄ×îºóÒ»¸ö×Ó
ͬʱ£º
- <head> ÓÐÒ»¸ö×Ó£º<title>
- <title> ÓÐÒ»¸ö×Ó£¨Îı¾½Úµã£©£º"DOM ½Ì³Ì"
- <body> ÓÐÁ½¸ö×Ó£º<h1> ºÍ <p>
- <h1> ÓÐÒ»¸ö×Ó£º"DOM µÚÒ»¿Î"
- <p> ÓÐÒ»¸ö×Ó£º"Hello world!"
- <h1> ºÍ <p> ÊÇͬ°û
ÔÚ½ÚµãÖ®¼äµ¼º½
ͨ¹ý JavaScript£¬Äú¿ÉÒÔʹÓÃÒÔϽڵãÊôÐÔÔÚ½ÚµãÖ®¼äµ¼º½£º
- parentNode
- childNodes[nodenumber]
- firstChild
- lastChild
- nextSibling
- previousSibling
×Ó½ÚµãºÍ½ÚµãÖµ
DOM ´¦ÀíÖеÄÒ»ÖÖ³£¼û´íÎóÊÇÈÏÎªÔªËØ½ÚµãÖаüº¬Îı¾¡£
ʵÀý£º
<title id="demo">DOM ½Ì³Ì</title>
£¨ÉÏÃæÀý×ÓÖеģ©ÔªËؽڵã <title> ²»°üº¬Îı¾¡£
Ëü°üº¬ÁËֵΪ "DOM ½Ì³Ì" µÄÎı¾½Úµã¡£
Îı¾½ÚµãµÄÖµÄܹ»Í¨¹ý½ÚµãµÄ innerHTML ÊôÐÔ½øÐзÃÎÊ£º
var myTitle = document.getElementById("demo").innerHTML;
·ÃÎÊ innerHTML ÊôÐÔµÈͬÓÚ·ÃÎÊÊ׸ö×Ó½ÚµãµÄ nodeValue£º
var myTitle = document.getElementById("demo").firstChild.nodeValue;
Ò²¿ÉÒÔÕâÑù·ÃÎʵÚÒ»¸ö×ӽڵ㣺
var myTitle = document.getElementById("demo").childNodes[0].nodeValue;
ÒÔÏÂÈý¸öÀý×ÓÈ¡»Ø <h1> ÔªËØµÄÎı¾²¢¸´ÖƵ½ <p> ÔªËØÖУº
ʵÀý 1
<html> <body> <h1 id="id01">ÎҵĵÚÒ»ÕÅÒ³Ãæ</h1> <p id="id02">Hello!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").innerHTML; </script> </body> </html>
ʵÀý 2
<html> <body> <h1 id="id01">ÎҵĵÚÒ»ÕÅÒ³Ãæ</h1> <p id="id02">Hello!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").firstChild.nodeValue; </script> </body> </html>
ʵÀý 3
<html> <body> <h1 id="id01">ÎҵĵÚÒ»ÕÅÒ³Ãæ</h1> <p id="id02">Hello!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").childNodes[0].nodeValue; </script> </body> </html>
InnerHTML
ÔÚ±¾½Ì³ÌÖУ¬ÎÒÃÇʹÓà innerHTML È¡»Ø HTML ÔªËØµÄÄÚÈÝ¡£
²»¹ý£¬Ñ§Ï°ÒÔÉÏÆäËûµÄ·½·¨ÓÐÖúÓÚÀí½â DOM µÄÊ÷½á¹¹ºÍµ¼º½¡£
DOM ¸ù½Úµã
ÓÐÁ½¸öÌØÊâÊôÐÔÔÊÐí·ÃÎÊÍêÕûÎĵµ£º
- document.body - ÎĵµµÄ body
- document.documentElement - ÍêÕûÎĵµ
ʵÀý
<html> <body> <p>Hello World!</p> <div> <p>DOM ºÜÓÐÓã¡</p> <p>±¾ÀýÑÝʾ <b>document.body</b> ÊôÐÔ¡£</p> </div> <script> alert(document.body.innerHTML); </script> </body> </html>
ʵÀý
<html> <body> <p>Hello World!</p> <div> <p>DOM ºÜÓÐÓã¡</p> <p>±¾ÀýÑÝʾ <b>document.documentElement</b> ÊôÐÔ¡£</p> </div> <script> alert(document.documentElement.innerHTML); </script> </body> </html>
nodeName ÊôÐÔ
nodeName ÊôÐԹ涨½ÚµãµÄÃû³Æ¡£
- nodeName 悅Ȧ絀
- ÔªËØ½ÚµãµÄ nodeName µÈͬÓÚ±êÇ©Ãû
- ÊôÐÔ½ÚµãµÄ nodeName ÊÇÊôÐÔÃû³Æ
- Îı¾½ÚµãµÄ nodeName ×ÜÊÇ #text
- Îĵµ½ÚµãµÄ nodeName ×ÜÊÇ #document
ʵÀý
<h1 id="id01">ÎҵĵÚÒ»ÕÅÍøÒ³</h1> <p id="id02">Hello!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").nodeName; </script>
×¢ÊÍ£ºnodeName ×ÜÊǰüº¬ HTML ÔªËØµÄ´óд±êÇ©Ãû¡£
nodeValue ÊôÐÔ
nodeValue ÊôÐԹ涨½ÚµãµÄÖµ¡£
- ÔªËØ½ÚµãµÄ nodeValue ÊÇ undefined
- Îı¾½ÚµãµÄ nodeValue ÊÇÎı¾Îı¾
- ÊôÐÔ½ÚµãµÄ nodeValue ÊÇÊôÐÔÖµ
nodeType ÊôÐÔ
nodeType ÊôÐÔ·µ»Ø½ÚµãµÄÀàÐÍ¡£nodeType ÊÇÖ»¶ÁµÄ¡£
ʵÀý
<h1 id="id01">ÎҵĵÚÒ»ÕÅÍøÒ³</h1> <p id="id02">Hello!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").nodeType; </script>
×îÖØÒªµÄ nodeType ÊôÐÔÊÇ£º
½Úµã | ÀàÐÍ | Àý×Ó |
---|---|---|
ELEMENT_NODE | 1 | <h1 class="heading">W3School</h1> |
ATTRIBUTE_NODE | 2 | class = "heading" £¨ÆúÓã© |
TEXT_NODE | 3 | W3School |
COMMENT_NODE | 8 | <!-- ÕâÊÇ×¢ÊÍ --> |
DOCUMENT_NODE | 9 | HTML Îĵµ±¾Éí£¨<html> µÄ¸¸£© |
DOCUMENT_TYPE_NODE | 10 | <!Doctype html> |
Type 2 ÔÚ HTML DOM ÖÐÒÑÆúÓá£XML DOM ÖÐδÆúÓá£