5-7.html

来自「文件是《精通Javascript+jQuery》的书中实例」· HTML 代码 · 共 48 行

HTML
48
字号
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Siblings</title>
<script language="javascript">
function nextSib(node){
	var tempLast = node.parentNode.lastChild;
	//判断是否是最后一个节点,如果是则返回null
	if(node == tempLast)
		return null;
	var tempObj = node.nextSibling;
	//逐一搜索后面的兄弟节点,直到发现元素节点为止
	while(tempObj.nodeType!=1 && tempObj.nextSibling!=null)
		tempObj = tempObj.nextSibling;
	//三目运算符,如果是元素节点则返回节点本身,否则返回null
	return (tempObj.nodeType==1)?tempObj:null;
}
function prevSib(node){
	var tempFirst = node.parentNode.firstChild;
	//判断是否是第一个节点,如果是则返回null
	if(node == tempFirst)
		return null;
	var tempObj = node.previousSibling;
	//逐一搜索前面的兄弟节点,直到发现元素节点为止
	while(tempObj.nodeType!=1 && tempObj.previousSibling!=null)
		tempObj = tempObj.previousSibling;
	return (tempObj.nodeType==1)?tempObj:null;
}
function myDOMInspector(){
	var myItem = document.getElementById("myDearFood");
	//获取后一个元素兄弟节点
	var nextListItem = nextSib(myItem);
	//获取前一个元素兄弟节点
	var preListItem = prevSib(myItem);
	alert("后一项:" + ((nextListItem!=null)?nextListItem.firstChild.nodeValue:null) + " 前一项:" + ((preListItem!=null)?preListItem.firstChild.nodeValue:null) );
}
</script>
</head>
<body onload="myDOMInspector()">
    <ul>
		<li>糖醋排骨</li>
		<li>圆笼粉蒸肉</li>
		<li>泡菜鱼</li>
		<li id="myDearFood">板栗烧鸡</li>
		<li>麻婆豆腐</li>
	</ul>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?