2010-04-28 55 views
0

我以爲我在jQuery 1.4的第一個公告中看到了這個,但現在似乎找不到任何東西。在將html添加到dom之前處理由html組成的變量(新的jQuery 1.4 ???)

我有一個日曆表,它是從json ajax響應動態構建的。

該表內置於名爲putHtml的變量中。

目前,一旦將表格添加到DOM中,我運行一個showEvents函數,該函數接收每個事件並將其添加到表格中的相應單元格中。 不幸的是,當我有100個事件時,這意味着我正在更新DOM 100的單獨時間。哪個變得相當緩慢。

我使用showEvents函數動態添加事件,所以如果我可以使用相同的函數,並指定在單元格的DOM中查找以添加事件或查找變量(假設我已經明白了,你可以用jQuery來做到這一點)。

我用currenlty的代碼是這樣的

 
jQuery('div#calendars').append('putHtml.join('')); 
    for(var e in thisCal.events){ 
     showEvent(thisCal.events[e]); 
    } 

果然不出我所試圖做的卻是

 
    for(var e in thisCal.events){ 
     showEvent(thisCal.events[e],putHtml); 
    } 
jQuery('div#calendars').append('putHtml.join('')); 

的showEvents函數試圖操縱時,看起來像這樣

 
function showEvents(event){ 
    var eventDate=event.date; 
    var eventTime=event.time; 
    var eventGroup=event.group; 
    var eventName=event.name; 
    var eventType=event.type; 
    var whereEvent=jQuery('div.a'+eventDate, 'table.'+eventGroup); 
    var putEvent='<div class="event" id="a+'eventDate+'_'+eventTime+'">'+eventName+'</div>' 
    jQuery(whereEvent, 'div#calendar').append(putEvent); 
    if(eventType>2){ 
    jQuery(whereEvent, 'div#listings').append(putEvent); 
    } 
} 

將變量putHtml添加到dom之前,我將putHtml傳入showEvent樂趣中ction,所以不是'(whereEvent,'div#calendar'),我有(whereEvent,putHtml),但那不起作用。

當然,另一種完成此操作的方法是當我製作每個單元格時,我迭代事件json,並將適當的html應用到單元格中,但這意味着重複運行整個json以便將事件放入單元格中。

是否有另一種/更好的方式來做這樣的事情?

回答

相關問題