我试图获取 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();//它收到了1,而不是0
最佳答案
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 调试您的代码。了解它的失败之处非常有值(value)。
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>
关于javascript - 无法检索 span 元素内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42999535/