如何在onclick函数中向id="demo"元素传递值?错误排查
解决onclick函数向指定id元素传递值的问题
我来帮你排查下代码里的问题,其实就是两个小错误导致值没法正常显示到demo元素里:
- span元素没有
value属性:你要操作的是<span>标签,这类文本元素不像表单控件(比如input)有value属性,想要设置它的内容,得用textContent(只设置纯文本,更安全)或者innerHTML(可以插入HTML内容)。 - 变量引用错误:你代码里写的
$k是无效的,原生JavaScript里直接用变量名k就可以调用这个变量,$在这里没有特殊含义,除非你引入了jQuery框架,但这里明显用的是原生JS。
修正后的完整代码如下:
<p onclick="myFunction()">Value.</p> <span id="demo"> </span> <script> function myFunction() { var k = 30; // 使用textContent设置span的文本内容 document.getElementById("demo").textContent = k; } </script>
如果之后你需要插入带HTML格式的内容,把textContent换成innerHTML就行,比如document.getElementById("demo").innerHTML = "<strong>" + k + "</strong>";,不过如果只是纯文本,优先用textContent哦。
内容的提问来源于stack exchange,提问作者dominic tanui
相关产品推荐
相关产品推荐

