0

我正在尝试访问按钮元素(div)的 parentNode,但每次都会出错。这是我想要做的。简单地说,这是一个有 2 个 div 的页面。我只希望一次显示一个 div。第一个页面上有一个按钮可以切换到第二个页面,第二个页面上有一个按钮应该返回到第一个页面(但没有,因为它无法找到 parentNode)。

        <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";
}
4

1 回答 1

1

改变这个...

onclick="back()"

对这个...

onclick="back.call(this)"

调用函数 using.call()允许您手动设置被调用函数的调用上下文this值)。在这里它将它设置为当前元素。

于 2012-07-17T04:16:24.510 回答