如何通过类名从td数组中获取元素

时间:2017-09-21 11:34:15

标签: javascript jquery html

我尝试使用这句话:

nodemon

但我一直得到getElementsByClassName不是函数的错误。

$("td", calendar).getElementsByClassName("today")

返回一个" td"的数组。是否可以访问"今天" " TD"只使用一行,或者是某种必要的迭代?

2 个答案:

答案 0 :(得分:2)

jQuery是DOM元素的包装器,并且有自己的辅助函数。

要过滤元素集合,请使用.filter,如下所示:

$( 'td', calendar ).filter( '.today' );

如果您只使用tdtoday,那么最好更改您的选择器:

$( 'td.today', calendar );

你也可以使用内置的JS函数实现这一点,就像这样



const tdCollection = document.querySelectorAll( 'td.today' );
console.log( tdCollection );

<table>
  <tr>
    <td>yesterday</td>
    <td class="today">today</td>
    <td>tomorrow</td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您正在将vanilla Javascript与jQuery混合使用。

<强>的Javascript

var x = document.getElementsByClassName("today")

这将返回数组中具有此类名的所有元素

<强>的jQuery

var x = $('.today');

当选择带有jquery的元素时,你需要预先添加一个&#34;#&#34;对于ids和一个&#34;。&#34;对于班级

祝你好运,玩得开心学习javascript:)

[编辑]抱歉,显然我在这里读过真正的问题。在您的具体情况下,您最好采用类似于@lumio在其答案中建议的解决方案。