我有一个页面显示(来自 asp.net 代码的 html 输出)房屋/属性。我构建了以下 javascript,只需按一下按钮,即可更改属性上的所有 css 类,因此 html 不会更改,但 css 类会更改,以获得 2 列视图。
这工作正常。但后来我在想,如果用户选择 2 列视图并导航到下一页(它是一种分页列表),则视图将重置回原始视图(从 1 列开始)。
所以我做了以下事情。如果用户单击按钮,并从 1 columnview 转到 2 columnview,我将 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() 方法还不起作用,因为页面上还没有任何内容(视觉上)。
提前致谢。