当有人在我的网站上点赞评论时,会在显示点赞数量的数字右侧添加一个“1”,但当他们点击“不喜欢”时,它会正确计算。
例如:
14 + 1 = 141
14 - 1 = 13
jQuery
var elem = $('.like_button'), //Like button
num = $('.num_likes'), //Get the element: number of likes
oldnum = num.html(); //Number of likes
if(elem.html() == "Like") {
elem.html("Dislike");
num.html(oldnum+1); //Adds one like after liking it
} else {
elem.html("Like");
num.html(oldnum-1); //Deletes one like after disliking it
}
我真的很奇怪为什么不喜欢有效但不喜欢。
为什么 javascript 将 num 元素的值解释为字符串,即使它是一个数字?对我有什么建议吗?
最佳答案
因为 JavaScript 将 num.html()
解释为文本。 javascript 中字符串的 +
符号表示连接,但 -
并不意味着在这种情况下 javascript 意识到您想要进行数值计算。这就是它与 -
您应该使用 parseInt()
将 oldnum
转换为整数。
关于javascript - jQuery:html 元素的内容被解释为字符串,而不是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23435950/