无法检索span元素内的文本

时间:2017-03-24 12:29:34

标签: javascript jquery html

我正在尝试在span元素中获取值,然后像这样更改它:

 chatHub.client.someFunction = function (id) {
        var messagesCount = $("#" + id + "COUNT").text();
        messagesCount++;
        $("#" + id + "COUNT").text(messagesCount);

    }

每次用户发送消息时都会调用此函数。但问题出在这里:messagesCount检索错误的数字,并且在调用函数后,页面的HTML代码没有任何变化。

span id

someFunction()成功收到此Some roomCOUNT,此id是该会议室的唯一名称,用户进行通信,我无法弄清楚它有什么问题。在此字段中收到错误数据的原因可能是var messagesCount = $("#" + id + "COUNT").text(); //it received 1, instead of 0

1 个答案:

答案 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>