jquery .html()删除尾随空格

时间:2012-10-19 10:15:01

标签: jquery contenteditable

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

它位于contenteditable div内,所以当用户开始输入时,“某事物”与他所输入的内容之间缺少空格。

HTML

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

JAVASCRIPT

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

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

3 个答案:

答案 0 :(得分:5)

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

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

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

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

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

DEMO: http://jsfiddle.net/NAWY3/

答案 1 :(得分:1)

尝试使用&nbsp;代替空格:

$('#div_id').html("something&nbsp;");

答案 2 :(得分:0)

如果您喜欢使用css

<强> HTML

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

<强> CSS

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

DEMO