2012-04-16 18 views
0

我認爲這一切都歸結爲語法問題。我不知道如何在addItem()函數中正確設置li項目的id屬性。設置屬性並在自調用jQuery函數中傳遞參數

如果我在addItem()函數(它是在點擊函數中定義的)中刪除了「ths」參數,那麼爲動態創建的列表項正確設置了id屬性。如果我傳遞了參數,該函數會成功觸發,但它不會爲列表項設置ID。它只是創建一個沒有ID的列表項。

雖然保持在我有下面的格式,如何正確設置動態創建的列表項的ID傳遞參數的函數?

我可以做這樣的事情:

$('<li>'+ths+'</li>').attr('id', 'foo'+i).attr('class', 'bar'); i++; 

但是,這並不遵循模型我有以下的語法。這也不是很有效。

(function() { 
    var i = 1; 
    var addContainer = { 
     init: function() { 
      $('<li></li>', { 
       id: "today" 
      }).prependTo('#myDiv'); 
     }, 
     addItem: function (ths) { 
      $('<li>' + ths + '</li>', { 
       id: 'newItem' + i 
      }).prependTo('#orderList'); 
      i++ 
     } 
    }; 
    $('body').on('click', '.itemRow', function() { 
     var ths = $(this).children('.itemTitle').text(); 
     if ($('today').length >= 0) { 
      addTodaysOrders.addOrder(ths); 
     } 
    }); 
})();​ 

此代碼只是一個簡短的概述,以獲得點....它缺少一些片斷。但是這裏的重要部分只是在這種格式中設置id的語法。

+0

請訪問http://jsbeautifier.org – 2012-04-16 18:21:01

+0

'$('today')'今天是代碼中的標記。 – noob 2012-04-16 18:23:46

+2

現在已經「美化」了 – Alex 2012-04-16 18:24:48

回答

3
$('<li>', { 
    id: 'newItem' + i, 
    text: ths 
}) 
+1

非常感謝你!完善!! – Alex 2012-04-16 18:29:29

相關問題