2017-02-20 5 views
1

Ich teste einige Zeit Formatierungssysteme (wie Twitter hat eine Zeit seit dem Posten neben einem Tweet) und so habe ich eine Barebones HTML-Seite eingerichtet, um mein Javascript auf zu laufen, aber die Ausgabe wird nicht in meinem div angezeigt. Warum passiert dies? Jede Hilfe wird geschätzt!Warum wird meine Ausgabe in meinem div nicht angezeigt?

Seite:

<html> 
<head> 
    <title>Testing</title> 
</head> 
<body> 
    <div id="app"> 
    <script> 
     var app = require('ago'); 
     #('app').innerHTML = timeSince(old_date); 
    </script> 
    </div> 
</body> 
</html> 

Script:

var old_date = new Date("November 13, 2017 5:00 PM"); 

function #(sel) { 
    return document.getElementById(sel); 
} 

function timeSince(post_minute) { 

    var seconds = Math.floor((new Date() - post_minute)/1000); 
    var interval = Math.floor(seconds/31536000); 

    if (interval > 1) { 
     return interval + "y"; 
    } 
    interval = Math.floor(seconds/2592000); 
    if (interval > 1) { 
     return interval + "mo."; 
    } 
    interval = Math.floor(seconds/86400); 
    if (interval > 1) { 
     return interval + "d"; 
    } 
    interval = Math.floor(seconds/3600); 
    if (interval > 1) { 
     return interval + "h"; 
    } 
    interval = Math.floor(seconds/60); 
    if (interval > 1) { 
     return interval + "m"; 
    } 
    return Math.floor(seconds) + " seconds"; 
} 
+0

sollte es $ ('# app') sein innerHTML- –

+0

Ich bin nicht jQuery für meine Wähler verwenden.. Ich schrieb meine eigene in meiner JS-Datei –

+0

@JayantiLal aber das wäre jQuery .... Ich denke, das Problem ist '#()' ist kein gültiger Funktionsname Siehe hier https://jsfiddle.net/97b6yajk/ verglichen zu diesem https://jsfiddle.net/kjzw0ay7/ – NewToJS

Antwort

0

# ist kein gültiger Bezeichner in JavaScript. Lesen Sie this Antwort zu wissen, was die gültigen Bezeichner sind.

Beispiel Snippet:

var old_date = new Date("November 13, 2017 5:00 PM"); 
 
$('app').innerHTML = timeSince(old_date); 
 

 
function $(sel) { 
 
    return document.getElementById(sel); 
 
} 
 

 
function timeSince(post_minute) { 
 

 
    var seconds = Math.floor((new Date() - post_minute)/1000); 
 
    var interval = Math.floor(seconds/31536000); 
 

 
    if (interval > 1) { 
 
    return interval + "y"; 
 
    } 
 
    interval = Math.floor(seconds/2592000); 
 
    if (interval > 1) { 
 
    return interval + "mo."; 
 
    } 
 
    interval = Math.floor(seconds/86400); 
 
    if (interval > 1) { 
 
    return interval + "d"; 
 
    } 
 
    interval = Math.floor(seconds/3600); 
 
    if (interval > 1) { 
 
    return interval + "h"; 
 
    } 
 
    interval = Math.floor(seconds/60); 
 
    if (interval > 1) { 
 
    return interval + "m"; 
 
    } 
 
    return Math.floor(seconds) + " seconds"; 
 
}
<div id="app"> 
 
</div>

+0

Behoben für mich, danke! –

+0

@AlexisKnox cool,. :) –

0

# ist kein gültiger Bezeichner in JavaScript. Ich änderte es zu $ und Ihr Code lief gut.

var old_date = new Date("November 13, 2017 5:00 PM"); 
 

 
function $(sel) { 
 
    return document.getElementById(sel); 
 
} 
 

 
function timeSince(post_minute) { 
 

 
    var seconds = Math.floor((new Date() - post_minute)/1000); 
 
    var interval = Math.floor(seconds/31536000); 
 

 
    if (interval > 1) { 
 
     return interval + "y"; 
 
    } 
 
    interval = Math.floor(seconds/2592000); 
 
    if (interval > 1) { 
 
     return interval + "mo."; 
 
    } 
 
    interval = Math.floor(seconds/86400); 
 
    if (interval > 1) { 
 
     return interval + "d"; 
 
    } 
 
    interval = Math.floor(seconds/3600); 
 
    if (interval > 1) { 
 
     return interval + "h"; 
 
    } 
 
    interval = Math.floor(seconds/60); 
 
    if (interval > 1) { 
 
     return interval + "m"; 
 
    } 
 
    return Math.floor(seconds) + " seconds"; 
 
} 
 

 
$('app').innerHTML = timeSince(old_date);
<html> 
 
<head> 
 
    <title>Testing</title> 
 

 
</head> 
 
<body> 
 
    <div id="app"> 
 
    </div> 
 
</body> 
 
</html>

Verwandte Themen