我正在尝试在span元素中获取值,然后像这样更改它:
chatHub.client.someFunction = function (id) {
var messagesCount = $("#" + id + "COUNT").text();
messagesCount++;
$("#" + id + "COUNT").text(messagesCount);
}
每次用户发送消息时都会调用此函数。但问题出在这里:messagesCount
检索错误的数字,并且在调用函数后,页面的HTML代码没有任何变化。
someFunction()
成功收到此Some roomCOUNT
,此id
是该会议室的唯一名称,用户进行通信,我无法弄清楚它有什么问题。在此字段中收到错误数据的原因可能是var messagesCount = $("#" + id + "COUNT").text(); //it received 1, instead of 0
答案 0 :(得分:1)
ID中不允许有空格。见下面的例子。
id属性值必须以字母(a-z或A-Z)开头。随后可以是字母(a-z或A-Z),数字(0-9),连字符( - ),下划线(_),冒号(:)和句点(。)的任意组合。
id值也区分大小写,因此<span id="test">This is me</span>
和<span id="TEST">This is me</span>
将被视为单独的元素。
使用console.log调试代码。了解它失败的地方非常有价值。
function getData (id) {
console.log("Getting data from id of: " + id);
var messagesCount = document.getElementById(id).innerHTML;
console.log("Messages count: ", messagesCount);
messagesCount++;
document.getElementById(id).innerHTML = messagesCount;
}
// Shorthand for $( document ).ready()
$(function() {
getData('some room 45');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<span id="some room 45">0</span>