gpt4 book ai didi

javascript - WinJS DOM 加载

转载 作者:行者123 更新时间:2023-12-03 12:37:00 24 4
gpt4 key购买 nike

我已经为 Windows 8 编写了一个 WinJS-App (Metro-App)。问题是,当我尝试访问像 div 这样的 DOM(HTML)-Element 时,我就会收到“空指针异常”。问题代码是这样的:

WinJS.UI.Pages.define("/pages/home/home.html", {
ready: function (element, options) {
document.getElementById("inhalt").innerHTML = "test"; // causes NullpointerException
}
});

但是当我这样做时,就没有问题了。但我不想每次都等3秒。

WinJS.UI.Pages.define("/pages/home/home.html", {
ready: function (element, options) {
window.setTimeout(function() { document.getElementById("inhalt").innerHTML = "test"; }, 3000);
}
});

为什么抛出 NullPointerException 以及如何修复它?

最佳答案

这可能是因为在您的页面成为 DOM 的父级之前调用了 ready(),因此 document.getElementById 无法找到它。您将在 Ready 函数中传递根元素,因此您可以这样做:

element.querySelector('#inhalt').innerHTML = "test";

这应该可行。不过,页面的最佳实践是不要在页面内部使用 id,因此只需将其更改为类 class="inhalt" 并使其成为 element.querySelector('.inhalt').

关于javascript - WinJS DOM 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23693253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com