jQuery接下来的5种可能性

jQuery next 5 sibilings

本文关键字:可能性 5种 接下来 jQuery      更新时间:2023-09-26

如果您认为日历是类似的视图。每个dayHolder都有一个数据日期属性。如果我从日期选择器日历中选择一个,直到日期。然后我计算从fromDate到untilDate之间的天数,后来我在自己的日历中找到我的fromDate并在这个日历上写下状态,然后我找到第二天并在那个日历上写上状态,然后继续,直到到达我的untilDate。

做这件事最好的方法是什么?找到每天都有数据日期的Div感觉很沉重。

所以我现在这样做了:

var fromDate = new Date(calenderStatus.fromDate.substring(0, 10));
var untilDate = new Date(calenderStatus.untilDate.substring(0, 10));
var days = 0;
if (fromDate <= untilDate) {
    var smallDate = new Date(fromDate.getFullYear(), fromDate.getMonth(), fromDate.getDate(), 0, 0, 0, 0);
    var maxDays = new Date(untilDate.getFullYear(), untilDate.getMonth(), untilDate.getDate(), 0, 0, 0, 0);
    days = (maxDays - smallDate) / (1000 * 60 * 60 * 24);
}
if (days > 0) {
    var dayHolder = $(".dayHolder[data-date='"+ calenderStatus.fromDate +"']");
    for (var i = 0; i < days; i++) {
        //do something with dayHolder
        dayHolder = dayHolder.next('.dayHolder');
    }

HTML:

<div class="dayHolder ui-grid-a" data-changeable="true" data-date="2013-06-24">
<div class="dayHolder ui-grid-a" data-changeable="true" data-date="2013-06-25">
<div class="dayHolder ui-grid-a" data-changeable="true" data-date="2013-06-26">

我做了一个评论,有人问我问题。这是评论:

因为:lt()是一个jQuery扩展,而不是CSS规范的一部分,所以使用:lt()的查询无法利用本机DOM querySelectorAll()方法提供的性能提升。为了在现代浏览器中获得更好的性能,请改用$("您的纯css选择器").sice(0,index)。

如果我现在得到了我所有的.dayHolder并想使用切片方法。我该如何找到日期正确的特定日期持有人的索引。这是一个

var specificDiv = $(".dayHolder[data-date='"+ calenderStatus.fromDate +"']");

但以美元为单位的指数是多少?

像这样:

$('.dayHolder').slice(specificDiv, 5)
相关文章: