Erstens bin ich völlig neu in der Programmierung und benutze selbstlernende Werkzeuge, um in meiner Freizeit Javascript zu lernen. Ich habe genug gelernt, um mit dem Bau meiner eigenen Projekte zu beginnen. Mein erster Versuch ist es, einen Randomizer zu erstellen (in diesem Fall zufällige Restaurantnamen). Das Javascript funktioniert durch meine Tests in der Konsole ebenso wie die Schaltflächen. Jedoch kann ich nicht scheinen, dass das .innerHTML funktioniert und ich bin nicht sicher, was ich vermisse. Ich habe hier mehrere Suchen durchgeführt und keine der Lösungen, die ich gefunden habe, scheint zu funktionieren..innerHTML: Eigenschaft 'innerHTML' von null kann nicht gesetzt werden
Der Fehler Ich erhalte im Titel aufgeführt wird, und es wird in Zeile 29.
Hier erscheint, ist Javascript:
var randomRestaurant = {
restaurantName: [],
findRestaurant: function() {
var restaurantName = Math.random();
if (restaurantName < 0.20) {
this.restaurantName.push("China Taste");
}
else if (restaurantName < 0.40) {
this.restaurantName.push("Pizza Johns");
}
else if (restaurantName < 0.60) {
this.restaurantName.push("Liberatore's");
}
else if (restaurantName < 0.80) {
this.restaurantName.push("Bill Bateman's");
}
else {
this.restaurantName.push("R&R Taqueria");
}
},
clearRestaurant: function() {
randomRestaurant.restaurantName.splice(0, 1);
}
};
var randomRestaurantButton = document.getElementById('randomRestaurantName');
randomRestaurantButton.addEventListener('click', function() {
randomRestaurant.findRestaurant();
document.getElementById("restaurantNameDisplay").innerHTML = randomRestaurant.restaurantName[0]; //<--line 29
});
var randomRestaurantButton = document.getElementById('refreshRestaurant');
randomRestaurantButton.addEventListener('click', function() {
randomRestaurant.clearRestaurant();
randomRestaurant.findRestaurant();
document.getElementById("restaurantNameDisplay").innerHTML = randomRestaurant.restaurantName[0];
});
Und hier ist mein HTML:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div><h1>Random Restaurant!</h1>
<button id="randomRestaurantName">Click me for a random restaurant!</button>
</div>
<br>
<h2="restaurantNameDisplay"></h2="restaurantNameDisplay">
<div>
<br>
<button id="refreshRestaurant">Nah. Give me another one.</button>
</div>
</body>
<script src="script.js"></script>
</html>
Vielen Dank für Ihre Hilfe und hoffentlich ist es nicht wegen etwas Dummes wie ein Tippfehler.
wahrscheinlich Ihr h2 Element fehlt das ID-Attribut –