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

时间:2016-08-26 08:04:41

标签: javascript jquery jquery-selectors

我正在用我的html应用程序创建日历类型控件,我已经使用表格格式来实现。在这个日历中,我已经将日期属性添加到td元素,我的dom将在下面

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

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

我想在jQuery选择器中使用这个date属性来检索特定的td元素。我的日期属性值也将来自代码

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

我想选择像这样的元素

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

//这里我手动设置了11/05/2016,但这将来自本地存储变量。

感谢您的任何建议

3 个答案:

答案 0 :(得分:1)

你需要连接:

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

答案 1 :(得分:1)

当需要执行new Date("11/05/2016").toDateString()时,您需要在选择器

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

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

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

答案 2 :(得分:0)

我将如何做到这一点:

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

  2. 当匹配时返回该元素。

    function getDateElement(date_selector){     $('td.current')。each(function(){         if($(this).data('date')=== date_selector){             return $(this);         }     }); }

    getDateElement('2016年8月30日星期二');