我无法弄清楚为什么没有将类添加到选定的td元素中。
jQuery DatePicker表中的日期单元格示例...
<td class=" " data-handler="selectDay" data-event="click" data-month="9" data-year="2014">
<a class="ui-state-default" href="#">1</a>
</td>
我正在尝试使用jQuery ...
<script>
var dateList = [ 1, 10, 2014 ];
$("td[data-month='" + dateList[1] + "'][data-year='" + dateList[2] + "']")
.filter(function() {
return $(this).text() === dateList[0];
}).addClass("cal-selected-date");
</script>
有什么建议吗?谢谢。
答案 0 :(得分:2)
您需要在filter
:
return $(this).trim() === dateList[0];
编辑:
由于您没有选择a
而是选择td
,因此您还需要添加.trim()
来修剪空白。
最后但并非最不重要的是,您需要将两者都转换为数字或删除单个=
return $(this).text().trim() == dateList[0];
或
return Number($(this).text().trim()) === dateList[0];
答案 1 :(得分:1)
您错过了return
$("td[data-month='" + dateList[1] + "'][data-month='" + dateList[2] + "']")
.filter(function() {
return $(this).text() === dateList[0];
}).addClass("cal-selected-date");
或者,您可以在过滤器中使用。data()
$("td")
.filter(function() {
return
$(this).data('month') == dateList[1] &&
$(this).data('year') == dateList[2] &&
+$(this).text() === dateList[0]; //Convert text to number using +
}).addClass("cal-selected-date");