2013-03-30 19 views
0

我有一些包含事件對象數組的json,每個事件都有一個日期和一個名稱。 在coffeescript中我想遍歷json,檢查每個對象是否已經在頁面上有一個與事件日期相同的id的表;如果確實如此,則將事件名稱添加到具有相同事件日期的表中,並且如果不是以事件日期爲id創建新表並將名稱添加到表中。有條件地使用coffescript向dom添加表格

我不知道爲什麼我不能得到它的工作即使不考慮添加事件名稱爲表中的數據,我的代碼爲每個事件創建一個表,而不是每個日期只有一個。通過事件陣列

for event,i in events 
    date = event["date"] 
    if $("table ##{date.replace(/\s+/g, '')}").length is 0 
    table = "<table id='#{date.replace(/\s+/g, '')}'> 
    <thead><tr><th>#{date}</th></tr></thead> 
    <tbody></tbody></table>" 
    $('#matches').append table 

我循環,檢查是否有一個表的ID相同,當前項目的日期,如果沒有創建表,並將其添加到頁面中,但是這增加了每個項目的表!

回答

0

在你選擇的空間會尋找一個ID,它是從元素,而不是元素本身的後代。

如果您有<table id="someval">並且想要檢查該ID,沒有看到html和數組示例很難進一步幫助,但是選擇器確實存在問題。

由於ID在頁面必須是唯一確定指標,它實際上是更有效的只是只使用ID的選擇。 ID搜索是最快的DOM搜索。

而且我不讀coffee好。不知道雙##是什麼。輸出應該只有一個#,不應該有任何{}在選擇器的輸出

+0

不能相信這是這麼簡單!第一個#是創建第二個#{}用於字符串插值的id。 –

+0

好的..我想盡可能多,但添加這些意見只是爲了確定。有助於將來發布瀏覽器源代碼...對於大多數人來說,閱讀(和測試)更容易,並且您始終可以將編輯修改回咖啡 – charlietfl