如何在td中获取div的位置

时间:2013-06-04 04:05:09

标签: jquery html css

我在php,html,css和jquery中创建日历。

我的表是这样的:

<table>
   <tr bgcolor="silver" id="10"> 
      <td style="width:10%;" id="resource10">Mausami Pandit</td>
      <td style="width:70px;" class="tbDay" id="resource10">
             <div class="08:01" style="display:inline; position:relative;"></div>
               .
               .
               .
             <div class="08:30" style="display:inline; position:relative;"></div>
      </td>
      <td style="width:70px;" class="tbDay" id="resource10">                                                  <div class="08:31" style="display:inline; position:relative;"></div>                                                                .
               .
               .
              <div class="08:30" style="display:inline; position:relative;"></div>
      </td>
   </tr>
</table>

这是一个小时,我从08:00到18:30每小时都这样。

现在我想选择特定时间的div并需要更改背景颜色。 意味着我想改变特定时段的颜色。

我试图选择这样的div:

  $('td#resource10').find('div.08:31').addClass('test');

但它不起作用。

谁能告诉我我的错误在哪里?

或我如何实现这一目标?

提前致谢。

1 个答案:

答案 0 :(得分:2)

Working jsFiddle Demo

首先,您有多个ID为resource10的元素。 这是错误的。

其次,您的班级名称中包含:,因此请使用~选择器抓住他们:

$('.tbDay').find('[class~="08:30"]').addClass('test');

感谢BrunoLM,你也可以使用它:

$('.tbDay').find('.08\\:30').addClass('test');

虽然在这种情况下jQuery会为你处理多个相同的ID:

$('#resource10').find('[class~="08:30"]').addClass('test');

我建议您不要使用具有相同ID的多个元素。