2012-07-17 68 views
0

我想訪問按鈕元素(div)的父節點,但每次都收到錯誤。這是我想要做的。簡而言之,這是一個有2個div的頁面。我只想要一次顯示一個div。第一頁上有一個按鈕,它切換到第二個按鈕,第二個按鈕應該返回到第一個按鈕(但不是因爲它無法找到父節點)。使用按鈕訪問父節點

 <div class="pageContent" id="page_3"> 
      <div class="primaryPage" id="primaryPage_3"> 
       <h2>Bills_______________________</h2> 
       <p>Here are my monthly Bills<br><br>blah blah</p> 
       <button type="button" id="billButton" onclick="newBill()">Add Bill</button> 
      </div> 
      <div class="pageContent" id="billPage"> 
       <p>this is the bill page</p> 
       <button class="backButton" onclick="back()">Back</button> 
      </div> 
     </div> 

function newBill(){ 
document.getElementById("primaryPage_3").style.display = "none"; 
document.getElementById("billPage").style.display = "block"; 
document.getElementById("billPage").setAttribute("back", "primaryPage_3"); 
} 

function back(){ 
var previousPage = this.parentNode.getAttribute("back"); 
this.parentNode.style.display = "none";  
document.getElementById(previousPage).style.display = "block"; 
} 

回答

1

改變了...

onclick="back()" 

這個...

onclick="back.call(this)" 

使用.call()調用功能允許您手動設置調用上下文(該this值)被調用的函數。這裏將它設置爲當前元素。

+0

這樣做,謝謝! – 2012-07-17 04:22:51