2017-06-15 109 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