2015-08-28 69 views
1

我的問題是,我試圖在jQuery中動態創建兩個按鈕,但我永遠不會得到第二個按鈕以我想要的方式出現 - 何時我可以讓它出現。在jQuery中創建元素按鈕,但第二個元素不會出現

我的目標是使用jQuery將兩個按鈕添加到頁面。該頁面是我正在學習jQuery和Javascript的練習。由於這項任務,我正在動態地創建人體內的所有元素。

當我運行下面的代碼時,「重置」按鈕被創建; 「調整大小」按鈕不是。 #container和其他<div>都生成沒有發生。

$(document).ready(function() { 

    $("<button id='reset'>Reset</button>").appendTo('body'); 
    $("<button id='resize'>Resize</button").after('#reset'); 

    var container = $('<div id="container"></div>'); 
    $(container).appendTo('body'); 

    for (var i = 0; i < 16; i++) { 
     $('<div class="bricks"></div>').appendTo('#container'); 
    } 

    $('.bricks').hover(function() { 
     $(this).css('background-color', 'blue'); 
    }); 

}); 

我指定CSS規則的#container.bricks但不能用於任何其他元素。我原來的DOM只包含一個空的<body>標籤。

我最初試圖使用.appendTo('body')這兩個按鈕,導致第一個「重置」按鈕顯示爲預期,在我想要顯示「調整大小」按鈕的地方出現一個空按鈕。

我已經廣泛搜索相關材料而沒有結果,所以我希望這個查詢不是多餘的!

+2

你錯過了就關門復位'button'標記的結束胡蘿蔔。 – ExcellentSP

回答

2

.after() docs的快速檢查告訴我您需要顛倒語法。從文檔:With .after(), the content to be inserted comes from the method's argument: $(target).after(contentToBeInserted)

試試這個:

$("#reset").after('<button id='resize'>Resize</button>'); 
相關問題