2017-06-15 292 views
-4

我想創建一個函數來替換h1 html一旦點擊。它似乎不工作,我不知道我做錯了什麼。Javascript的innerHtml不起作用

這裏是我的javascript:

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

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

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

這裏是我的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

它是'innerHTML' – luisenrike

+0

@karthick不會有任何錯誤。 – BenM

+0

@BenM。哦,是的,它將是未定義的。 – karthick

回答

1

JS是區分大小寫的。它應該是innerHTML,而且innerHTML設置元素的含量,從而就沒有必要來包裝Yo Mama另一<h1>標籤內你的函數中:

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

謝謝!我覺得很糟糕,我錯過了:/ – user74843

1

您應該使用,而不是innerHTML的innerHTML之中。

這是區分大小寫的

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是區分大小寫的。請將'el.innerHtml'改爲'el.innerHTML'

+0

非常感謝你 – user74843

+0

爲什麼你添加一個答案,如果已經存在2個其他答案完全相同的內容?代之以upvote。另外,你不應該包含'h1'標記...... – Christoph