Jquery Selector-根据属性值获取元素

Jquery Selector- Getting a element based on attribute value

我正在使用我的 html 应用程序创建日历类型控件,并且我使用 table 格式来实现。在此日历中,我已将日期属性添加到 td 元素,我的 dom 将如下所示

<td date="Tue Aug 30 2016" class="current">30</td>
<td date="Mon Aug 29 2016" class="current">29</td>

我已将这样的日期属性添加到该月日历中的所有日期。

我想将此日期属性与 jQuery select 一起使用或检索特定的 td 元素。另外我的日期属性值将从下面的代码

new Date("11/05/2016").toDateString(); // out will like "Sat Nov 05 2016"

我想要 select 类似这样的元素

$('.current[date=new Date("11/05/2016").toDateString()]')

// 这里我手动设置了 11/05/2016 但这将从本地存储变量中获取。

感谢任何建议

您需要连接:

$('.current-month[date="'+new Date("11/05/2016").toDateString()+'"]')

由于new Date("11/05/2016").toDateString()需要执行,所以需要在selector中拼接结果

$('.current-month[date="'+new Date("11/05/2016").toDateString()+'"]')

我建议您使用 data-* 前缀的自定义属性来存储任意数据。

<td data-date="Tue Aug 30 2016" class="current">30</td>

以下是我的做法:

  1. 创建一个循环遍历所有 td.current 元素并将日期数据字段与提供的日期进行比较的函数。

  2. 当匹配return那个元素时。

    函数 getDateElement(date_selector) { $('td.current').each(函数(){ 如果($(this).data('date') === date_selector) { return $(这个); } }); }

    getDateElement('Tue Aug 30 2016');