2

我想设置"someting "为 div 内的 html,但 .html() 似乎删除了尾随空格。

它在一个contenteditablediv 中,因此当用户开始输入时,“某物”和他输入的内容之间会缺少一个空格。

HTML

<div id="text" contenteditable="true"></div>

JAVASCRIPT

$('div#text').html('something          ');

这会在 div 中显示“something_”,但是当您开始输入时,它会出现在文本的其余部分旁边。

4

3 回答 3

5

为了在 HTML 中设置可见空间,它们应该采用 的形式&nbsp;,例如

​$("#text").html("something&nbsp;&nbsp;")​​​​;

一种选择是使用您自己的函数进行基本空间转换:

function spaceToNbsp(str) {
    return str.replace(/ /g, "&nbsp;");
}

$("#text").html(spaceToNbsp("something  "))​​​​;

演示:http: //jsfiddle.net/NAWY3/

于 2012-10-19T10:20:17.700 回答
1

尝试使用&nbsp;而不是空格:

$('#div_id').html("something&nbsp;");
于 2012-10-19T10:19:24.730 回答
0

如果你喜欢它使用css

HTML

<div contenteditable="true" id="test"></div>

CSS

div#test:before{
    content: '>\0000a0\0000a0';
    /*or  content: 'Something\0000a0\0000a0';*/
}

演示

于 2012-10-19T10:51:50.080 回答