使用按钮访问parentNode

时间:2012-07-17 04:15:06

标签: javascript html

我正在尝试访问按钮元素(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";
}

1 个答案:

答案 0 :(得分:1)

改变这个......

onclick="back()"

到此......

onclick="back.call(this)"

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