为什么innerHTML不能为我工作?

Ell*_*lle 2 html javascript jquery

此函数使用jQuery修改DOM元素的内容.我究竟做错了什么?

function updateScore() {
    alert("Test score is: " + bucket.score);
    $("#testScore").innerHTML = 'Current score is: + bucket.score';
}
Run Code Online (Sandbox Code Playgroud)

警报运行,但没有别的.我有一个<p>id testScore,但是当我运行该函数时它不会改变.为什么?

谢谢,Elliot Bonneville

Kon*_*rak 10

试试.html()jQuery对象.innerHTML适用于DOM-Elements.

$("#testScore").html('Current score is: '+ bucket.score);
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因,您确实想要使用innerHTML,则可以将jQuery Object转换回其DOM变体,例如使用[0]或.get(0).这样打电话,然后:

$("#testScore")[0].innerHTML ='Current score is: '+ bucket.score
Run Code Online (Sandbox Code Playgroud)

但我不明白你为什么要这样做 - 因为你已经在jQuery中编写了,所以没有必要回退到具有完美的jQuery等价物的DOM方法.

  • 你需要将bucket.score放入字符串中(将单引号`''移到左边)以进行评估. (2认同)