我正在尝试实施一个简单的网页进行测试。
到目前为止,我有这个:
在HTML中:
<script type="text/javascript" src="main.js"></script>
<p id="message"> 1st Message </a><br>
<input type="button" value="Click Me" onclick="changeMessage()">
位于main.js中的 changeMessage()
返回一个字符串。 (&#34;第二条消息&#34;)
单击此按钮后,我想从&#34; changeMessage&#34;中获取返回值。并将<p id="message">
的值更改为返回值,即&#34;第二条消息&#34;
这可能吗?我尝试使用innerHTML
属性,但无法弄清楚如何使用返回的值。
答案 0 :(得分:0)
http://www.w3schools.com/jsref/prop_html_innerhtml.asp
function changeMessage() {
document.getElementById('message').innerHTML="2nd Message";
}
答案 1 :(得分:0)
嗯,changeMessage
听起来不应该实际返回一个值,或者至少它不应该是一个无副作用的方法。确保以反映其功能的方式命名您的功能。
如果您保留当前代码中的内联处理程序,则可以执行以下操作:
function changeMessage(message) {
document.getElementById('message').textContent = message;
}
<input type="button" value="Click Me" onclick="changeMessage('2nd Message')">
只需稍加改动,您就可以使API变得更加灵活和富有表现力。
然而,这依赖于许多不良做法,例如需要全局变量。模块化,可测试性和可伸缩性超出了这个答案的范围,但请至少看看addEventListener
,它是内联处理程序的更好替代方案。