0

ボタン要素(div)のparentNodeにアクセスしようとしていますが、毎回エラーが発生します。これが私がやろうとしていることです。簡単に言えば、これは2つのdivが含まれているページです。一度に1つのdivのみを表示したい。最初のページには2番目に切り替わるボタンがあり、2番目には最初に戻るはずのボタンがあります(ただし、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)"

を使用して関数を呼び出すと、呼び出される関数の呼び出しコンテキスト値).call()を手動で設定できます。ここでは、現在の要素に設定しています。this

于 2012-07-17T04:16:24.510 に答える