(asp.netコードビハインドからのhtml出力)houses/propertiesを表示するページがあります。私は次のjavascriptを作成しました。これは、ボタンを押すだけで、プロパティのすべてのcssクラスを変更して、htmlが変更されないようにしますが、cssクラスは変更して2列のビューを取得します。
これは正常に機能します。しかし、ユーザーが2列のビューを選択して次のページ(ページリストのようなもの)に移動すると、ビューは元のページ(1列から始まる)にリセットされると考えていました。
だから私は次のことをしました。ユーザーがボタンをクリックして、1列ビューから2列ビューに移動した場合、その値をwindow.nameに1または2として保存します。
その後、この小さなスクリプトをここに作成します。
$(document).ready(setView());
function setView() {
if (window.name != null) {
if (window.name == 2) {
window.Show2Cols();
}
if (window.name == 1) {
window.Show1Col();
}
}
}
これは機能します。Show2Cols()メソッドは次のように始まります。
function Show2Cols() {
alert("Show2Cols is executed");
var nodes = document.getElementById("panden").getElementsByTagName("div");
alert("Just got all nodes.");
for (i = 0; i < nodes.length; i++)
{....
そのため、ページを変更すると、「Show2Colsが実行されました」と表示されますが、「すべてのノードを取得した」とは表示されません。
これは私の初めてのJSであり、これ以上複雑になることはないので、問題がどこにあるのかを皆さんにお聞きしたいと思います。
私の推測では、on(document).ready()は機能しますが、ページにはまだ(視覚的に)何もないため、.getElementById()メソッドはまだ機能しません。
前もって感謝します。