【问题标题】:Why isn't .text or .html working为什么 .text 或 .html 不起作用
【发布时间】:2013-03-13 02:56:39
【问题描述】:

我有一个跨度:

<span id="unreadbadge" class="badge red">0</span>

和一个在执行函数上说的脚本这样做:

var arrayOfUnRead = jQuery.parseJSON(text);
jQuery("#unreadbadge").text(arrayOfUnRead.length);
confirm(arrayOfUnRead.length);

虽然“1”,但arrayOfUnRead.length 的正确值被回调,以确认ID 为unreadbadge 的跨度仍然保持其相同的内容“0”。我已经尝试过 .html 并收到相同的结果。如果有帮助,我会在 Wordpress 上运行它。

text 是:

[{"id":"1","message":"Hello Users","conversation_id":"1","sender":"kdogisthebest","sent_on":"2013-03-12 13: 45:58","re​​ad_by":"kdogisthebest"}]

【问题讨论】:

  • 可能你必须将 json 字符串化
  • 什么是text?它有价值吗?
  • 是的,它是 json,如果我确认它,我可以看到它的数据
  • 我刚试过document.getElementById("unreadbadge").innerHTML="someContent"; 并没有改变任何东西
  • 其实我的意思是,你能把text的值贴出来吗?这样我们就可以尝试您正在尝试的方法。

标签: jquery arrays json html


【解决方案1】:

试试这样的:

var text = "[2,55,42]";
var arrayOfUnRead = $.parseJSON(text);
var lengthOfUnread = arrayOfUnRead.length;
$("#unreadbadge").text(lengthOfUnread);
confirm(lengthOfUnread);

查看小提琴:http://jsfiddle.net/LCCjB/

【讨论】:

  • 抱歉,我仍然收到 0。
  • 查看我更新的答案(虽然它基本相同)但查看 jsFiddle 以查看它的工作原理。
  • 是的,我明白了。我在我的网站kitb.tk 中输入了完全相同的代码,它显示确认但右上角的跨度没有改变
  • 好的,这个页面似乎有不止一个#unreadbadge。您只能拥有一个具有特定名称的 id,因此这似乎是您的问题。解决此问题的最简单方法就是从使用 ID 更改为使用类。只需添加类“unreadbadge”并相应地更改选择器,它应该可以工作。
  • 哇,我刚刚意识到 wordpress 添加了两个菜单,因此添加了两个徽章。感谢您向我指出这一点!
猜你喜欢
  • 2014-05-14
  • 2014-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-09
  • 2017-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多