我遇到了问题,我无法将值保存到页面中。
我的js:
var count = 0;
switch (index) {
case 0:
count = count - 5;
document.getElementById("point").getElementsByTagName('p')[0].innerText = (count);
break;
case 1:
count = count + 2;
document.getElementById("point").getElementsByTagName('p')[0].innerText = (count);
break;
case 2:
count = count + 5;
document.getElementById("point").getElementsByTagName('p')[0].innerText = (count);
break;
}
我的HTML:
<div id="point">
<p></p>
</div>
如何保存价值?
答案 0 :(得分:1)
它正在运行,请参阅我的jsFiddle
var index = 0; // for demonstration, change that value
var count = 0;
switch (index) {
case 0:
count = count - 5;
$('#point p').text(count);
break;
case 1:
count = count + 2;
$('#point p').text(count);
break;
case 2:
count = count + 5;
$('#point p').text(count);
break;
}
请注意,行$('#point p').text(count);
在所有情况下始终相同,因此您可能希望将此项放在switch-case之后。
此外,我将document.getElementById("point").getElementsByTagName('p')[0].innerText = count;
替换为$('#point p').text(count)
,以使用jQuery。希望它可以帮助您入门。
答案 1 :(得分:0)
您使用innerText
,这是不可能的。您可以使用innerHTML
使其再次运行
一个小jsFiddle demo向你展示一个作品,另一个不会。
此外,您可以简单地简化代码,并在同样的工作中使其更加灵活:
var count = 0;
switch (index) {
case 0:
count -= 5;
break;
case 1:
count += 2;
break;
case 2:
count += 5;
break;
}
// Only once, after the switch. If you want another target for the value,
// all you have to do is change this line, instead of every case.
document.getElementById("point").getElementsByTagName('p')[0].innerHTML = count;
你不需要jQuery。原生JS通常更快。
如果您确实想使用jQuery,请拆分选择器以获得最佳性能:
$('#point').find('p')