为什么innerHTML不能为我工作?

时间:2010-11-14 21:58:50

标签: javascript jquery html

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

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

警报运行,但没有别的。我有一个<p>,标识为testScore,但在运行该函数时它不会改变。为什么呢?

谢谢,Elliot Bonneville

3 个答案:

答案 0 :(得分:10)

在jQuery对象上尝试.html()innerHTML适用于DOM-Elements。

$("#testScore").html('Current score is: '+ bucket.score);

如果出于某种原因,确实想要使用innerHTML,您可以convert the jQuery Object back to its DOM variant,例如使用[0]或.get(0)。这样打电话,然后:

$("#testScore")[0].innerHTML ='Current score is: '+ bucket.score

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

答案 1 :(得分:2)

function updateScore() {
    alert("Test score is: " + bucket.score);
    $("#testScore").text('Current score is: ' + bucket.score);
}

答案 2 :(得分:-1)

$("#testScore").innerHTML('Current score is: + bucket.score');

jQuery对象不支持对属性的赋值。 (它是一个Javascript限制)您必须使用参数调用该函数来设置某些内容。