.find()在两个数据属性之间的范围



$(".date-grid").find( $("[data-date=2018-03-15]") )这有效。

我有一个每月日历。
每天代表<td class="date-grid" data-date="2018-06-12">

我希望能够整天选择$("[data-date=2018-03-15]")$("[data-date=2018-03-20]")之间的所有date-grid

请帮忙。

如果属性 data-date存在于原始html中:

var cells = $(".date-grid").find("[data-date]").filter(function() {
  // check $(this).data("date") and return true if it is in range
});

如果data-date值是通过.dataset$().data设置的:

var cells = $(".date-grid").find("td.date-grid").filter(function() {
  // check $(this).data("date") and return true if it is in range
});

我的前端开发朋友推荐了这个

var rangeDays = [];
var range = $(".date-grid[data-date='2018-03-15']")
    .nextUntil(".date-grid[data-date='2018-03-21']");
range.each(function() {
    alert($(this).attr('data-date'));
    rangeDays.push( $(this) )
});
console.log(rangeDays);

最新更新