function getNextElement(node){ //定義getNextElement()函數 if (node.nodeType==1){ //條件:若是node參數nodetype屬性爲元素節點(真),則退出此函數,並此函數取值爲node。nodetype值可爲一、二、3 return node; } if (node.nextSibling){ //若是node節點的下一個兄弟節點存在即條件爲真,則退出此函數,並遞歸,參數變爲node節點的下一個兄弟節點。 return getNextElement(node.nextSibling); //從一個函數的內部調用這個函數自己叫做遞歸調用。 } return null; //退出此函數,並此函數取值爲null。 }
例如,我想獲取以下html代碼中<h1>標籤下面第一個元素節點,以便我設置它的相關屬性,javascript
則直接調用getNextElement(node)函數;html
var header = document.getElementByTagName('h1');java
var ower = getNextElement(header.nextSiling);node
<body> <h1>What is the Document Object Model?</h1> <p> The <abbr title="World Wide Web Consortium">W3C</abbr> defines the <abbr title="Document Object Model">DOM</abbr> as: </p> <blockquote cite="http://www.w3.org/DOM/"> <!-----------------省略其他代碼-------------> </p> </body>