2

清理自动生成的 html 带来更多乐趣。注入标签的大量无关空间:

<span>Lorem Ipsum&nbsp;&nbsp;&nbsp;</span> dolor sit...(  代表实际空间,而不是实体)

jQuery 提供了一个 $.trim() 来截断字符串末尾的空格。有没有一种快速而优雅的方法可以将其应用于 each() 循环以从所有内联标签中删除所有空格,还是我注定要选择 => 获取 html => 修剪 => 替换 html?

4

2 回答 2

2

阅读文档

$(selector).html(function(i, old){
    return $.trim(old);
});

小提琴

于 2013-03-25T15:55:56.640 回答
2

下面的代码将删除任何没有元素 children的节点周围的空白。

$('span').filter(function() {
    return $(this).children().length === 0;
}).text(function(_, old) {
    return $.trim(old);
});

对子元素的测试可确保您不会错误地修改任何带有嵌套标签的元素,尽管它可能会给您留下比您想要的更多的空间。

http://jsfiddle.net/alnitak/c7aT6/

于 2013-03-25T16:00:25.687 回答