function getNextElement(node){ //定义getNextElement()函数 if (node.nodeType==1){ //条件:如果node参数nodetype属性为元素节点(真),则退出此函数,并此函数取值为node。nodetype值可为1、2、3 return node; } if (node.nextSibling){ //如果node节点的下一个兄弟节点存在即条件为真,则退出此函数,并递归,参数变为node节点的下一个兄弟节点。 return getNextElement(node.nextSibling); //从一个函数的内部调用这个函数本身叫作递归调用。 } return null; //退出此函数,并此函数取值为null。 }
例如,我想获取如下html代码中<h1>标签下面第一个元素节点,以便我设置它的相关属性,
则直接调用getNextElement(node)函数;
var header = document.getElementByTagName('h1');
var ower = getNextElement(header.nextSiling);
<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>