2017-06-15 5 views
-4

Ich möchte eine Funktion erstellen, die den HTML-Code h1 nach dem Klicken ersetzt. Es scheint irgendwie nicht zu funktionieren und ich weiß nicht, was ich falsch mache.Javascript's innerHtml funktioniert nicht

Hier ist mein Javascript:

function changeToYoMaMa(el) {  
    el.innerHtml = "<h1>" + "Yo Mama" + "</h1>"; 
    }; 

    var el = document.getElementById("heading"); 

    el.addEventListener('click', function() { 
     changeToYoMaMa(el); 
    }); 

Hier ist mein HTML:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>javascript tests</title> 

    </head> 
    <body> 

    <h1 id="heading">hello world</h1> 

    <script type="text/javascript" src="javascripttests.js"></script> 
    </body> 
</html> 
+2

Es ist 'innerHTML' – luisenrike

+0

@karthick Es wird keine Fehler geben. – BenM

+0

@BenM. Oh ja, es wird undefiniert sein. – karthick

Antwort

1

JS ist case-sensitive. Es sollte innerHTML und weiterhin innerHTML setzt den Inhalt des Elements, so gibt es keine Notwendigkeit, die Yo Mama innerhalb eines anderen <h1>-Tag in Ihrer Funktion zu wickeln:

function changeToYoMaMa(el) {  
 
    el.innerHTML = 'Yo Mama'; 
 
}; 
 

 
var el = document.getElementById("heading"); 
 

 
el.addEventListener('click', function() { 
 
    changeToYoMaMa(this); 
 
});
<h1 id="heading">hello world</h1>

+0

danke! Ich fühle mich so schlecht, dass ich das vermisst habe:/ – user74843

1

Sie sollten innerHTML- anstelle von innerHtml.

Dies ist case-sensitive

el.innerHTML = "<h1>" + "Yo Mama" + "</h1>"; 
0

function changeToYoMaMa(el) {  
 
    el.innerHTML = "<h1>" + "Yo Mama" + "</h1>"; 
 
    }; 
 

 
    var el = document.getElementById("heading"); 
 

 
    el.addEventListener('click', function() { 
 
     changeToYoMaMa(el); 
 
    });
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <title>javascript tests</title> 
 

 
    </head> 
 
    <body> 
 

 
    <h1 id="heading">hello world</h1> 
 

 
    <script type="text/javascript" src="javascripttests.js"></script> 
 
    </body> 
 
</html>

Javascript Groß- und Kleinschreibung. Bitte korrigieren Sie 'el.innerHtml' zu 'el.innerHTML'

+0

Vielen Dank – user74843

+0

Warum fügst du eine Antwort hinzu, wenn es bereits 2 andere Antworten mit genau dem gleichen Inhalt gibt? Upvote sie stattdessen. Außerdem sollten Sie das 'h1'-Markup nicht einschließen ... – Christoph

Verwandte Themen