<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<ol id="list">
<li id="one">one</li>
<li id="two">two</li>
<li id="three">three</li>
<li id="four">four</li>
<li id="five">five</li>
</ol>
<input type="button" value="上一個" οnclick="change(curTarget.previousSibling.previousSibling);"/>
<script type="text/javascript">
var curTarget = document.getElementById("three");
var change = function(target)
{
alert(target.innerHTML);
}
</script>
</body>
</html>
這是要求第三個(three)節點的前一個兄弟節點(two)的用法,很奇怪爲什麼代碼裏面用到的兩次previousSibling,那不就是one了嘛?
果然是我想當然了,原來<ol>標籤的子節點不只是5個,每兩個<li>之間有空格和換行。。。。,必須向上處理兩個node才行,查資料以後發現只有IE會支持不留空白,就是向上一個節點,很神奇啊。。。。