2012-12-13 62 views
0

我有一種情況,即生成動態列表。現在我試圖點擊列表中的每個項目並顯示每個項目的內容。我知道我可以使用另一個陣列,我可以將內容存儲爲div,然後指定要顯示的位置。只是不知道如何寫它。這是我到目前爲止單擊動態列表創建的項目並顯示動態內容

<ul id="list"> 
<!--- List items will be added dynamically. ---> 
</ul> 

$(InitPage); 

    function InitPage() { 

     var jList = $("#list"); 

     var arrValues = ['<div id="one"></div>', '<div id="two"></div>', '<div id="three"></div>']; 

     $.each(
     arrValues, 

     function (intIndex, objValue) { 

      jList.append(
      $('<li class="thumbItem">' + objValue + "</li>")); 
     }); 
    } 

css-- 
li.thumbItem{ 
     float:left; 
     width:192px; 
     height:192px; 
     background:gray; 
     margin:10px 10px 0 0; 
     cursor:pointer; 
    } 

回答

3

爲什麼不使用委派?

$(function(){  
    $('#list').on('click','li',function(){ 
     //do stuff here 
    }); 
}); 

的jQuery 1.4,使用.live():

$('#list li').live('click', function(){ 
      //do stuff here 
     }); 
+0

這可以工作,但問題是我使用jquery 1.4.2 ...所以基本上當你點擊每個項目裏他們應該有一個相應的內容,可能work.i試過這一個...並沒有..可能是因爲jquery版本不支持它 $('。contentHolderContent')。eq($(this).index()) 。顯示(); – soum

+0

「因爲jquery版本不支持它」jquery 1.7+支持Ya,true,.on(),而是使用.live()。查看我的更新。 –

+0

dint沒有真正的工作...這是我在做什麼 <! - 這是生成列表生活的地方 - > 生成列表 <! - 這是生成的列表生活的地方 - > <! - -contents上顯示點擊 - >

<! - 點擊腳本 - > $( '#contentHolder')兒童()ATTR( '類', 'contentHolderContent') ; \t $( '#名單禮')生活( '點擊',函數(){ $( 'li.thumbItem')removeClass( '活動'); \t \t \t $(本).addClass( ''active;); \t \t \t $('。contentHolderContent')。eq($(this).index())。show(); }); – soum