通过关系(父子关系、兄弟关系)找标签。 parentNode 获取当前元素的父节点。 childNodes 获取当前元素的所有下一级子元素。返回的是数组 firstChild 获取当前节点的第一个子节点。 lastChild 获取当前节点的最后一个子节点。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body><input type="text" id="userName"/><img src="user.png" /> </body> <script type="text/javascript"> var bodyNode = document.getElementsByTagName("body")[0]; //查看父节点。 var parentNode = bodyNode.parentNode; alert("父节点的名称:"+parentNode.nodeName); //找子节点:childNodes 获取所有的子节点,返回的是一个数 组。 注意: 获取子节点的时 候是包括了空文本或者是注释。 var children = bodyNode.childNodes; for(var i = 0 ; i<children.length ; i++){ //if(children[i].nodeType==1){ alert("节点的名字:"+children[i].nodeName+" 对象的类型:"+children[i].nodeType); //} } alert("第一个子节点:"+bodyNode.firstChild.nodeName); alert("最后一个子节点:"+bodyNode.lastChild.nodeName); </script> </html>nextSibling 获取当前节点的下一个节点。(兄节点) previousSibling 获取当前节点的上一个节点。(弟节点)
var inputNode = document.getElementById("userName"); alert("下个兄弟节点:"+inputNode.nextSibling.nodeName); //下一个兄弟节点。 alert("上一个兄弟节点:"+inputNode.previousSibling.nodeName);我们可以通过标签的类型进行判断筛选: 文本节点的类型: 3 注释的节点类型: 8 标签节点的类型: 1