2015-07-21 95 views
0

我已经使用jQuery的.append()函数来创建一组的div其包装一些<input /><span>,但之后,我创建的div,它缺少<input>标签之间的空白,就像下面的图片:CSS缺失保证金

图像与余量: enter image description here

无空白图像(jquery的创建): enter image description here

的HTML代码:

<div class="controls"> 
    <input type="text" class="span3" name="name" placeholder="规格名称" /> 
    <input type="text" class="span3" name="name" placeholder="商品价格" /> 
    <input type="text" class="span3" name="name" placeholder="商品原价" /> 
    <input type="text" class="span2" name="name" placeholder="商品库存" /> 
    &nbsp;&nbsp;&nbsp; 
    <span id="good_sku_add" class="icon-plus"></span> 
</div> 

jQuery代码:

$('#good_sku_add').click(function(){ 
    html = ''; 
    html += '<div class="controls">'; 
    html += '<input type="text" class="span3" name="name" placeholder="规格名称" />'; 
    html += '<input type="text" class="span3" name="name" placeholder="商品价格" />'; 
    html += '<input type="text" class="span3" name="name" placeholder="商品原价" />'; 
    html += '<input type="text" class="span2" name="name" placeholder="商品库存" />'; 
    html += '&nbsp;&nbsp;&nbsp;'; 
    html += '<span id="good_sku_add" class="icon-plus"></span>'; 
    html += '</div>'; 

    $(this).parent().after(html); 
    $(this).parent().parent().trigger('create'); 
    }) 

我搜索的计算器和谷歌文档一些,但它不能正常工作,任何人都可以给我一些想法?

+0

:就在你的输入代码每一行的末尾添加一个吗? – epascarello

回答

1

这并不是说缺少保证金,现在缺少的是只是一个(内联元素是空白敏感)的输入之间的空间。你为什么不使用填充/利润率

html += '<input type="text" class="span3" name="name" placeholder="规格名称" /> '; 
                      ^

jsFiddle example

+0

谢谢,你是对的!但这是如何工作的?为什么空白区使用html实体“ ”? –

+0

我不明白您的评论对  – j08691

+0

我的意思是在HTML中,如果我想显示一个白色的空间,我们应该用“ ”不只是输入键盘的“空格”键?对不起我的英语不好.. –

1
中动态创建的版本 <input />标签之间

你错过了空间。

例如,试试这个:

html = ''; 
html += '<div class="controls"> '; 
html += '<input type="text" class="span3" name="name" placeholder="规格名称" /> '; 
html += '<input type="text" class="span3" name="name" placeholder="商品价格" /> '; 
html += '<input type="text" class="span3" name="name" placeholder="商品原价" /> '; 
html += '<input type="text" class="span2" name="name" placeholder="商品库存" /> '; 
html += '&nbsp;&nbsp;&nbsp;'; 
html += '<span id="good_sku_add" class="icon-plus"></span>'; 
html += '</div>'; 

说明:

在HTML版本中,<intput />标签之前是空白(缩进)呈现时,压缩成一个空白字符。在您的HTML版本中,由于字符串连接方式,标签之间根本没有空白。

A(主观)清洁剂的做法可能是试试这个:

var html = [ 
    '<div class="controls">', 
    '<input type="text" class="span3" name="name" placeholder="规格名称" />', 
    '<input type="text" class="span3" name="name" placeholder="商品价格" />', 
    '<input type="text" class="span3" name="name" placeholder="商品原价" />', 
    '<input type="text" class="span2" name="name" placeholder="商品库存" />', 
    '&nbsp;&nbsp;&nbsp;', 
    '<span id="good_sku_add" class="icon-plus"></span>', 
    '</div>' 
].join(' ');