2013-02-05 64 views
1

我正在使用Twitter Bootstrap 2.2.2和jQuery 1.7.2,嘗試使用帶有扁平按鈕樣式的錨作爲標記。這些標籤在保存文本輸入後動態添加;我使用的是一個非常簡單的HTML結構:動態生成引導程序元素的間距問題

<p> 
    <a class="btn btn-small"><span>Tag 1</span></a> 
    <a class="btn btn-small"><span>Tag 2</span></a> 
</p> 

使用jQuery我只是創建所需的屬性和值的新的一個,然後將其連接到款。

但是,每當創建多於1個元素時,元素之間的間距會全部搞砸,並且新元素間的間距不會產生間距。

我創建了下面的小提琴演示我的問題:http://jsfiddle.net/marcelo1251/WeuLb/

點擊更多添加標籤的2倍以上,你會看到這個問題...

是否有修復與間距的方式動態生成的元素?

感謝, 馬塞洛C.

回答

0

我會考慮這個問題,反正如果你

var tagClone = $('.template').html(); 
    $('p#target').append(tagClone); 

它的工作原理。

從技術上講,他們是不一樣的:

//your code 
    var tagClone = $('.template').clone(); //tagClone is a jQuery object 
    $('p#target').append(tagClone.find('a')); 

創建一個jQuery對象,並將其附加到目標。

//my code 
    var tagClone = $('.template').html(); //tagClone is a string 
    $('p#target').append(tagClone); 

將html內容獲取爲A STRING並將其附加到目標。 然而,追加函數(http://api.jquery.com/append/)可以接受jquery對象或html字符串,所以它應該以任何方式工作。

+0

這實際上是我在做什麼,它適用於**第一個**新元素,但是如果你點擊我的小提琴中的「添加標籤」按鈕至少2-3次,你會看到我我在說什麼。 –

+0

我看了你的代碼,如果你改變它,我發佈它的作品。 http://jsfiddle.net/WeuLb/1/ (使用html代替克隆並刪除查找)。不知道爲什麼,你的工作無論如何。 這很奇怪,因爲如果你看看按鈕的盒子模型,他們實際上沒有邊距 –

+0

太棒了。奇怪的是,這兩種方法不應該以同樣的方式工作嗎? –