我只是个初学者。我正在尝试使用innerHTML
。
我想我写了正确的代码,但它不起作用。
当我点击触发器时,页面变为白色并显示法规:“连接”
我不知道问题出在哪里
请有人帮帮我。
这是我的代码。
HTML CODE
<div class = "head">
<nav>
<a onClick="open()">
<div class = "body">
<div class = "bodyL">
<div class = "newsPnT">
JAVASCRIPT CODE
function open() {
document.getElementsByClassName('newsPnT').innerHTML = "asdfasdfasdf";
}
我的代码有什么问题?
PS:我正在使用Firefox Aurora。当我点击触发器时,'调试器&gt;消息人士说,“等待消息来源。”
答案 0 :(得分:2)
getElementsByClassName()返回带元素的数组。
返回具有所有给定类名的所有子元素的类数组对象。在文档对象上调用时,将搜索完整文档,包括根节点。您也可以在任何元素上调用getElementsByClassName();它将仅返回具有给定类名的指定根元素的后代元素。
所以你需要迭代数组并设置像这样的innerHTML,即
var elements = document.getElementsByClassName('myClass');
Array.prototype.forEach.call(elements, function(element) {
element.innerHTML = 'Your text goes here';
});
还有一点奖励JSFiddle
答案 1 :(得分:0)
className'open'似乎是javascript的关键字。 我将className从'open'更改为'openThis',这就成了问题的解决方案。