获取表中的相应元素

时间:2017-07-23 17:29:50

标签: javascript jquery arrays function nodes

我有两个tr,彼此对应。我想这样做,如果用户传递了date ...它会通过data-date获取,然后在element中查找相应的tbody

我的第一部分是正确的......这让我得到了index

var index = $("[data-date='" + item.start + "']").index();

现在......我无法获得相应的tbody元素。

我试过了:

$("[data-date='" + item.start + "']").closest('thead').next('tbody')

但它是空的。

所以,一旦我拥有tbody ...我可以使用nth

转到index孩子
<div class="fc-content-skeleton">
   <table>
      <thead>
         <tr>
            <td class="fc-day-top fc-sun fc-today fc-state-highlight" data-date="2017-07-23"><span class="fc-day-number">23</span></td>
            <td class="fc-day-top fc-mon fc-future" data-date="2017-07-24"><span class="fc-day-number">24</span></td>
         </tr>
      </thead>
      <tbody>
         <tr>
            <td class="fc-event-container" rowspan="2">
               <a class="fc-day-grid-event fc-h-event fc-event fc-start fc-end">
                  <div class="fc-content"> <span class="fc-title">100</span></div>
               </a>
            </td>
            <td class="fc-event-container">
               <a class="fc-day-grid-event fc-h-event fc-event fc-start fc-end">
                  <div class="fc-content"> <span class="fc-title">100</span></div>
               </a>
            </td>
         </tr>
      </tbody>
   </table>
</div>

2 个答案:

答案 0 :(得分:1)

您可以使用.eq()

$("tbody tr td").eq(index)

答案 1 :(得分:1)

你的选择器在这里工作。我做了一些控制台测试,发现没有任何问题。

> jQuery("[data-date='2017-07-23']").closest('thead').next('tbody').length
> 1

问题可能与item.start的价值有关。检查它是否正确。