2012-04-16 4 views
0

これはすべて構文上の問題だと思います。 addItem()関数のli項目のid属性を正しく設定する方法がわかりません。自己呼び出しjQuery関数での属性の設定と引き渡し

addItem()関数(onクリック関数で定義されています)の "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をご覧ください。 –

+0

'$( 'today')'今日はコード内のタグです。 – noob

+2

これは現在「美化されました」 – Alex

答えて

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

ありがとうございました!完璧! – Alex

関連する問題