В настоящее время я получаю сообщение об ошибке:Ошибки выброшенной на функции, которые не называются
Uncaught TypeError: Cannot set property 'innerHTML' of null
Что касается моего вопроса, вся информации я нашел предлагает логическую структуру и порядок моего HTML разметка в сочетании с моим JavaScript тесно связана с такими ошибками, часто из-за событий загрузки DOM.
Хотя эта информация полезна для того, чтобы знать и помогла мне решить несколько проблем, с которыми я столкнулся в прошлом, это нисколько не помогает мне в моей последней проблеме; эта ошибка. Я пришел к такому выводу из-за того, что эта ошибка относится к началу функции, одна из которых в настоящее время не вызывается. Как эта ошибка может быть запущена, когда функция еще не выполнена?
<body onload="OnLoad();">
<div id="Wrapper">
<div id="Banner"><h1>Title</h1></div> <!-- End of Banner -->
<div id="Information">
<ul><li><a id="PageViews">Page Visits: 0</a></li>
<li id="Current_Date"><a id="CurrentDate"></a></li></ul>
</div><!-- End of Information -->
<div class="LoginForm"></div><!--End of LoginForm -->
<div id="Footer"></div><!-- End of Footer -->
выше HTML наценка является очень простой обзор элементов я имею в веб-страницы, следующая функция вызывается при загрузке тела:
function OnLoad(){
PageViews();
CurrentDate();
if(navigator.cookieEnabled == false){
document.getElementById("RememberMe").style.visibility="hidden";
document.getElementById("CheckboxText").style.visibility="hidden";
var UserCookie = ReadCookie("Username");
if(UserCookie.length !== 0){
document.getElementById("Username").value = UserCookie;}}}
function PageViews(){
if(CookieCount > 0) {
document.getElementById("PageViews").innerHTML = "Page Visits: " + CookieCount}}
function CurrentDate(){
var Today = new Date();
var Day = Today.getDate();
var Month = Today.getMonth()+1;
var Year = Today.getFullYear();
if(Day<10){
Day = '0'+Day;}
if(Month<10){
Month ='0'+Month;}
var Today = Day+'/'+Month+'/'+Year;
document.getElementById("CurrentDate").innerHTML = Today;}
Вот где вещи становятся странный и продолжающий меня озадачивать, представленный ниже код - это функция, в которой возникает ошибка, но, как уже говорилось, эта функция не вызывается.
function Date(){
document.getElementById("Date").innerHTML = 'Last Modified: ' + document.lastModified;}
Может кто-то пожалуйста, объясните мне, почему это происходит, и просветить меня относительно того, что это я делаю неправильно и возможное решение?
'new Date();' в основном вызывает функцию 'Date'. Вы должны взглянуть на объекты в javascript, они довольно разные, чем на других языках :) –
'document.getElementById (« Date »)' ... okay, так что где элемент с 'id =" Date ", который вы Вы ищете этот код? Я вижу один с «id =« Current_Date »и один с« id = »CurrentDate» (плохая идея, btw, дающая им подобные имена), но не с идентификатором 'id =" Date ". –
Нет элемента с идентификатором * Дата *. Есть * CurrentDate * и * Current_Date *, возможно, вы имели в виду один из них. Вероятно, функция * currentDate * вызывает * Date *, а так как вы уничтожили встроенный конструктор Date, объявив свою собственную функцию * Date * ... остальное должно быть очевидно. – RobG