📄 dom_nodes_navigate.asp
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XML DOM - Navigate Nodes</title>
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Keywords" content="xml,tutorial,html,dhtml,css,xsl,xhtml,javascript,asp,ado,vbscript,dom,sql,colors,soap,php,authoring,programming,training,learning,beginner's guide,primer,lessons,school,howto,reference,examples,samples,source code,tags,demos,tips,links,FAQ,tag list,forms,frames,color table,w3c,cascading style sheets,active server pages,dynamic html,internet,database,development,Web building,Webmaster,html guide" />
<meta name="Description" content="Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building." />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="../stdtheme.css" />
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "../../https@ssl./default.htm" : "../../www./default.htm");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3855518-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</head>
<body>
<a name="top"></a>
<table cellpadding="0" cellspacing="0" width="100%" bgcolor="#808080">
<tr>
<td width="234" valign="top">
<a href="../default.htm"><img src="../images/w3default80.jpg" border="0" alt="W3Schools" /></a>
</td>
<th valign="middle" align="left" class="right">
<iframe style="background-color:#808080" src="../banners/bannerframe.asp@adpartner=xmlmaster" height="90" width="728"
marginwidth="0" marginheight="0" frameborder="0" scrolling="no">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
<br /></th>
</tr>
</table>
<table style="margin-left:1px" width="800px" border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="137" class="content" valign="top"><br />
<a class="left" href="../default.asp" target="_top">
<img src="../images/homeicon.gif" border="0" alt="home" /></a>
<a class="left" href="../default.asp" target="_top">
<b>HOME</b></a>
<br /><br />
<b>XML DOM Tutorial</b><br />
<a class="left" target="_top" href="default.asp" >DOM HOME</a><br />
<a class="left" target="_top" href="dom_intro.asp" >DOM Introduction</a><br />
<a class="left" target="_top" href="dom_nodes.asp" >DOM Nodes</a><br />
<a class="left" target="_top" href="dom_nodetree.asp" >DOM Node Tree</a><br />
<a class="left" target="_top" href="dom_parser.asp" >DOM Parsing</a><br />
<a class="left" target="_top" href="dom_loadxmldoc.asp" >DOM Load Function</a><br />
<a class="left" target="_top" href="dom_methods.asp" >DOM Methods</a><br />
<a class="left" target="_top" href="dom_nodes_access.asp" >DOM Accessing</a><br />
<a class="left" target="_top" href="dom_nodes_info.asp" >DOM Node Info</a><br />
<a class="left" target="_top" href="dom_nodes_nodelist.asp" >DOM Node List</a><br />
<a class="left" target="_top" href="dom_nodes_traverse.asp" >DOM Traversing</a><br />
<a class="left" target="_top" href="dom_mozilla_vs_ie.asp" >DOM Browsers</a><br />
<a class="left" target="_top" href="dom_nodes_navigate.asp" style='font-weight:bold;'>DOM Navigating</a><br />
<br />
<b>Manipulate Nodes</b><br />
<a class="left" target="_top" href="dom_nodes_get.asp" >DOM Get Values</a><br />
<a class="left" target="_top" href="dom_nodes_set.asp" >DOM Change Nodes</a><br />
<a class="left" target="_top" href="dom_nodes_remove.asp" >DOM Remove Nodes</a><br />
<a class="left" target="_top" href="dom_nodes_replace.asp" >DOM Replace Nodes</a><br />
<a class="left" target="_top" href="dom_nodes_create.asp" >DOM Create Nodes</a><br />
<a class="left" target="_top" href="dom_nodes_add.asp" >DOM Add Nodes</a><br />
<a class="left" target="_top" href="dom_nodes_clone.asp" >DOM Clone Nodes</a><br />
<a class="left" target="_top" href="dom_httprequest.asp" >DOM HttpRequest</a><br />
<br />
<b>XML DOM Reference</b><br />
<a class="left" target="_top" href="dom_nodetype.asp" >DOM Node Types</a><br />
<a class="left" target="_top" href="dom_node.asp" >DOM Node</a><br />
<a class="left" target="_top" href="dom_nodelist.asp" >DOM NodeList</a><br />
<a class="left" target="_top" href="dom_namednodemap.asp" >DOM NamedNodeMap</a><br />
<a class="left" target="_top" href="dom_document.asp" >DOM Document</a><br />
<a class="left" target="_top" href="dom_documentimplementation.asp" >DOM DocumentImpl</a><br />
<a class="left" target="_top" href="dom_documenttype.asp" >DOM DocumentType</a><br />
<a class="left" target="_top" href="dom_processinginstruction.asp" >DOM ProcessingInstr</a><br />
<a class="left" target="_top" href="dom_element.asp" >DOM Element</a><br />
<a class="left" target="_top" href="dom_attribute.asp" >DOM Attribute</a><br />
<a class="left" target="_top" href="dom_text.asp" >DOM Text</a><br />
<a class="left" target="_top" href="dom_cdatasection.asp" >DOM CDATA</a><br />
<a class="left" target="_top" href="dom_comment.asp" >DOM Comment</a><br />
<a class="left" target="_top" href="dom_http.asp" >DOM HttpRequest</a><br />
<a class="left" target="_top" href="dom_errors.asp" >DOM ParseError Obj</a><br />
<a class="left" target="_top" href="dom_errors_crossbrowser.asp" >DOM Parser Errors</a><br />
<br />
<a class="left" target="_top" href="dom_summary.asp" >DOM Summary</a><br />
<br />
<b>Examples</b><br />
<a class="left" target="_top" href="dom_examples.asp" >DOM Examples</a><br />
<a class="left" target="_top" href="dom_validate.asp" >DOM Validator</a><br /><br />
<b>Selected Reading</b><br />
<a class="left" target="_top" href="../browsers/browsers_stats.asp">Web Statistics</a><br />
<a class="left" target="_top" href="../site/site_glossary.asp">Web Glossary</a><br />
<a class="left" target="_top" href="../hosting/default.asp">Web Hosting</a><br />
<a class="left" target="_top" href="../quality/default.asp">Web Quality</a><br /><br />
<a class="left" target="_top" href="../forum/default.asp">W3Schools Forum</a><br /><br />
<a class="left" target="_top" href="../about/about_helping.asp">Helping W3Schools</a><br /><br />
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*LeftLinkUnit*/
google_ad_slot = "4854527104";
google_ad_width = 120;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
<td valign="top">
<table style="border: 1px solid gray" width="100%" bgcolor="#FFFFFF" border="0" cellpadding="5" cellspacing="0">
<tr>
<td>
<h1>XML DOM - Navigating Nodes</h1>
<a href="dom_mozilla_vs_ie.asp"><img border="0" src="../images/btn_previous.gif" alt="prev" width="100" height="20" /></a>
<a href="dom_nodes_get.asp"><img border="0" src="../images/btn_next.gif" alt="next" width="100" height="20" /></a>
<hr />
<p class="intro">Nodes can be navigated using node relationships.</p>
<hr />
<h2>Examples
</h2>
<p>The examples below use the XML file
<a target="_blank" href="books.xml">books.xml</a>. <br />
A function, <a href="dom_loadxmldoc.asp">loadXMLDoc()</a>, in an external JavaScript is used to load the XML file.</p>
<p><a target="_blank" href="tryit.asp@filename=try_dom_nav_parentnode">Get the
parent of a node</a><br />
This example uses the parentNode property to get the parent of a node</p>
<p><a target="_blank" href="tryit.asp@filename=try_dom_nav_firstchild">Get the
first child element of a node</a><br />
This example uses the firstChild() method and a custom function to get the first
child node of a node</p>
<hr />
<h2>Navigating DOM Nodes</h2>
<p>Accessing nodes in the node tree via the relationship between nodes, is often
called "navigating nodes". </p>
<p>In the XML DOM, node relationships are defined as properties to the nodes:</p>
<ul>
<li>parentNode</li>
<li>childNodes</li>
<li>firstChild</li>
<li>lastChild</li>
<li>nextSibling</li>
<li>previousSibling</li>
</ul>
<p>The following image illustrates a part of the node tree and the
relationship between nodes in <a target="_blank" href="books.xml">books.xml</a>:</p>
<p><img border="0" src="navigate.gif" alt="Node tree" width="335" height="354" /></p>
<hr />
<h2>DOM - Parent Node</h2>
<p>All nodes has exactly one parent node. The following code navigates to the
parent node of <book>: </p>
<table class="ex" id="table60" border="1" cellspacing="0" width="100%">
<tr>
<td>
<pre>xmlDoc=loadXMLDoc("books.xml");</pre>
<pre>x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);</pre>
</td>
</tr>
</table>
<p>Example explained:</p>
<ol>
<li>Load "<a target="_blank" href="books.xml">books.xml</a>"
into xmlDoc using <a href="dom_loadxmldoc.asp">loadXMLDoc()</a> </li>
<li>Get the first <book> element</li>
<li>Output the node name of the parent node of "x"</li>
</ol>
<p>
<a target="_blank" href="tryit.asp@filename=try_dom_nav_parentnode">Try it
yourself</a></p>
<hr />
<h2>Avoid Empty Text Nodes</h2>
<p>Firefox, and some other browsers, will treat empty white-spaces or new lines
as text nodes, Internet Explorer will not.</p>
<p>This causes a problem when using the properties: firstChild, lastChild,
nextSibling, previousSibling. </p>
<p>To avoid navigating to empty text nodes (spaces and new-line characters
between element nodes), we use a function that checks the node type:</p>
<table class="ex" id="table59" border="1" cellspacing="0" width="100%">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -