2016-08-15 73 views
1

我要動態地使用循環創建標籤,以創建使用jquery標籤......這就是我所做的和它不工作好心幫我解決這個問題我想通過對循環

$(document).ready(function() { 
    function create_labels(strt, end, overlay_body) { 
     for (var i = strt; i < end; i++) { 
      var labels=jQuery('<label id=lbl>hahahahha</label>'); 
      labels.appendTo(overlay_body); 
     } 
    } 
}); 

var strt = 9; 
var end = 17; 

var overlay_body = jQuery('<div id=overlay_body></div>'); 
overlay_body.appendTo(document.body); 
create_labels(strt,end,overlay_body); 
+0

功能是'get_labels'而不是'create_labels',並且它在你調用它的地方是隱藏的,因爲你將它嵌套在'ready'回調中。另外,調用者在哪裏獲得'strt'和'end'? – 2016-08-15 12:40:37

+0

...並請乾淨地縮進您的代碼。如果你不知道如何使用http://jsbeautifier.org。 – 2016-08-15 12:43:27

+0

@squint檢查編輯的問題 – iqra

回答

0

你應該學習如何調試您的javascript代碼。如果您檢查了瀏覽器控制檯,您將確切知道問題所在。要在Google Chrome中調用瀏覽器控制檯,您可以單擊Ctrl + Shift + J。

的問題是,所述create_labels()功能是不可訪問以外的jQuery的負載function.One辦法解決這一問題是將它調用jQuery的負載內該功能的邏輯

$(document).ready(function() { 
    var strt = 9; 
    var end = 17; 

    function create_labels(strt, end, overlay_body) { 
     for (var i = strt; i < end; i++) { 
      var labels = jQuery('<label id=lbl>hahahahha</label><br />'); 
      labels.appendTo(overlay_body); 
     } 
    } 

    var overlay_body = jQuery('<div id=overlay_body></div>'); 
    overlay_body.appendTo(document.body); 
    create_labels(strt, end, overlay_body); 
});