此函数使用jQuery修改DOM元素的内容。我做错了什么?
function updateScore() {
alert("Test score is: " + bucket.score);
$("#testScore").innerHTML = 'Current score is: + bucket.score';
}
警报运行,但没有别的。我有一个<p>
,标识为testScore
,但在运行该函数时它不会改变。为什么呢?
谢谢,Elliot Bonneville
答案 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限制)您必须使用参数调用该函数来设置某些内容。