2010-01-18 67 views
1

我有以下兩個由PHP生成的HTML。如何添加div和添加class div id與tj值相同的jquery?

我想追加第二個到第一個表td。如果有事件,我想添加class =「date_has_event」給td。每個事件都有一個號碼,即div id中的日期。

我正在使用jquery,但我不確定。有誰能告訴我如何解決這個問題嗎?

HTML

<tr> 
<td>17</td><td><div class="highlight">18</div></td><td>19</td><td>20</td> 
<td>21</td><td>22</td><td>23</td> 
</tr> 

DIV我要附加到上面的HTML。

--UPDATE--

下面將通過動態PHP/MYSQL產生。這些是事件列表。 17 div有附加到TD是17世紀和19格至TD 19等

<div id ="17" class="events"> 
    <ul style="opacity: 0; top: 
20px; left: -76px; display: none; bottom: -202px;"> 
     <li><a href="index.php/admin 
/calendar/edit/1"> 
     <span class="title">17th event 1</span> 
     <span class="desc">event 1 of 17th</span></a> 
     </li> 
     <li><a href="index.php/admin/calendar/edit/4"> 
     <span class="title">17th event 2</span> 
     <span class="desc">event 2 of 17th</span></a> 
     </li> 
     <li><a href="index.php/admin/calendar/edit/13"> 
     <span class="title">make pancake with 
emile</span> 
     <span class="desc">mix flour, water and raindrops with love</span></a> 
     </li> 
    </ul> 
    </div> 


    <div id="19" class="events"> 
    <ul style="opacity: 0;"> 
     <li><a href="index.php/admin/calendar/edit/2"> 
     <span class="title">19th event 1</span> 
     <span class="desc">id 2 change</span> 
</a></li> 
     <li><a href="index.php/admin/calendar/edit/5"> 
     <span class="title">19th event 2</span> 
     <span class="desc">event 2 of 19th</span></a> 
     </li> 
     <li><a href="index.php/admin/calendar/edit/6"> 
     <span class="title">19th event 3</span> 
     <span class="desc">event 3 of 19th</span></a> 
     </li> 
    </ul> 
</div> 
    ... 
    ... 

最終輸出我想有。

<tr> 
    <td class="date_has_event"> 17<div class="events"> 
    <ul style="opacity: 0; top: 
20px; left: -76px; display: none; bottom: -202px;"> 
     <li><a href="index.php/admin 
/calendar/edit/1"> 
     <span class="title">17th event 1</span> 
     <span class="desc">event 1 of 17th</span></a> 
     </li> 
     <li><a href="index.php/admin/calendar/edit/4"> 
     <span class="title">17th event 2</span> 
     <span class="desc">event 2 of 17th</span></a> 
     </li> 
     <li><a href="index.php/admin/calendar/edit/13"> 
     <span class="title">make pancake with 
emile</span> 
     <span class="desc">mix flour, water and raindrops with love</span></a> 
     </li> 
    </ul> 
    </div> 
</td> 
<td id="today"> 18</td><td class="date_has_event"> 19<div 
class="events"> 
    <ul style="opacity: 0;"> 
     <li><a href="index.php/admin/calendar 
/edit/2"> 
     <span class="title">19th event 1</span> 
     <span class="desc">id 2 change</span> 
</a></li> 
     <li><a href="index.php/admin/calendar/edit/5"> 
     <span class="title">19th event 2</span> 
     <span class="desc">event 2 of 19th</span></a> 
     </li> 
     <li><a href="index.php/admin/calendar/edit/6"> 
     <span class="title">19th event 3</span> 
     <span class="desc">event 3 of 19th</span></a> 
     </li> 
    </ul> 
</div> 
</td> 
<td> 20</td><td> 21</td><td> 22</td><td> 
23</td></tr> 

回答

0

嘗試是這樣的:

if ($('div[@id]') == $(td).html()) 
{ 
    $('somediv').html('<div>whatever</div>') 
    $('somediv').addClass('classname'); 
} 

在上面的代碼,你應該指定正確的股利和TD標識。

1

考慮你的td細胞有一個類my_td。 也許像水木清華:

$(document).ready(function(){ 
    $('.my_td').each(function(){ 
     var div_id = $(this).text(); 
     var matched_div = $('div#'+div_id); 
     if(matched_div.children('ul li').length){ 
     $(this).addClass = 'date_has_event'; 
     $(this).append(matched_div) 
     } 
    }); 
}); 

沒有測試,但我想只是爲了顯示你如何能夠解決你的問題的基本思路。

0

嘗試:

$('#mytable td').each (function() 
{ 
    var cell = $(this), div = $('#' + cell.text()); 
    if (div.length) 
     cell 
     .addClass ('date_has_events') 
     .append (div); 
}); 

替換#mytable與表的ID