Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript事件侦听器,用于在单击按钮时更改段落文本;不行?_Javascript_Html_Dom_Event Listener - Fatal编程技术网

Javascript事件侦听器,用于在单击按钮时更改段落文本;不行?

Javascript事件侦听器,用于在单击按钮时更改段落文本;不行?,javascript,html,dom,event-listener,Javascript,Html,Dom,Event Listener,单击按钮时,文本不会更改 警报消息显示输出和文本变量正确。但是的内部文本仍然没有改变 以下是HTML: 提交 最后信息: 消息 这是JS: 函数消息(){ var text=document.getElementById(“msg”).value; var output=document.getElementsByClassName(“msg”)[0].innerHTML; 输出=文本; } 将变量输出定义为文档的值。getElementsByClassName(“msg”)[0]。inn

单击按钮时,
文本不会更改

警报消息显示输出和文本变量正确。但是
的内部文本仍然没有改变

以下是HTML:


提交
最后信息: 消息

这是JS:

函数消息(){
var text=document.getElementById(“msg”).value;
var output=document.getElementsByClassName(“msg”)[0].innerHTML;
输出=文本;
}

将变量
输出定义为
文档的值。getElementsByClassName(“msg”)[0]。innerHTML
然后将
输出的值更改为
文本的值

javascript中的原语是通过值传递的,而不是通过引用传递的

Change
var output=document.getElementsByClassName(“msg”)[0].innerHTML


document.getElementsByClassName(“msg”)[0].innerHTML=text

如果您说的是类似于:

var output = document.getElementsByClassName("msg")[0].innerHTML;
输出的值将只是某种字符串或类似的值

然后,当您更改该值时,您只更改字符串的值,而不更改元素的值

您要做的是:

var output = document.getElementsByClassName("msg")[0];
output.innerHtml=text;

您必须将消息直接设置到DOM节点的
innerHTML
属性上。固定示例:

函数消息(){
var text=document.getElementById(“msg”).value;
document.getElementsByClassName(“msg”)[0].innerHTML=text;
}

提交
最后信息:

消息

你非常接近

var output=document.getElementsByClassName(“msg”)[0]中删除
innerHTML

并将其添加到此处:

output.innerHTML=文本

看起来是这样的


提交
最后信息: 消息

函数消息(){ var text=document.getElementById(“msg”).value; var output=document.getElementsByClassName(“msg”)[0]; output.innerHTML=文本; }
function Message(){
    var text = document.getElementById("msg").value;
    document.getElementsByClassName("msg").innerHTML = text;
}