我使用HTML表为Drupal站点构建了一个日历模板,我有jQuery为每个空单元格添加一个“无文本”类:
$('table.calendar td:empty').addClass('no-text');
这很有效,但我的问题是CMS WYSIWYG编辑器会自动将HTML实体
添加到空单元格。因此,我试图事先找到并替换带有“真实”空间的实体,但jQuery无法找到它们:
$('table.calendar td').each(function() {
var $this = $(this);
var t = $this.text();
$this.text(t.replace('[entity here]',''));
});
此代码段在替换普通字符串时效果很好,但
似乎有所不同!
所以我的问题是:如何使用jQuery来搜索和替换HTML实体?
答案 0 :(得分:9)
最简单的事情是
$this.text(t.replace('\u00a0',''));
其中\u00a0
是
答案 1 :(得分:2)
尝试
replace(/& nbsp;/g, '');
没有&符号之后的空格。
答案 2 :(得分:1)
你试过.html()?
$ this.html( '');
答案 3 :(得分:1)
这是另一种有效的选择。
var nbsp = unescape("%a0"); // a0 is hex code point for
$this.text(t.replace(nbsp,''));
答案 4 :(得分:1)
如果您的nbsp位于标记内,而不是外部js文件,则需要对html进行两次编码: