2012-07-17 66 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