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>
以下是我的做法:
创建一个循环遍历所有 td.current 元素并将日期数据字段与提供的日期进行比较的函数。
当匹配return那个元素时。
函数 getDateElement(date_selector) {
$('td.current').each(函数(){
如果($(this).data('date') === date_selector) {
return $(这个);
}
});
}
getDateElement('Tue Aug 30 2016');
我正在使用我的 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>
以下是我的做法:
创建一个循环遍历所有 td.current 元素并将日期数据字段与提供的日期进行比较的函数。
当匹配return那个元素时。
函数 getDateElement(date_selector) { $('td.current').each(函数(){ 如果($(this).data('date') === date_selector) { return $(这个); } }); }
getDateElement('Tue Aug 30 2016');