未选择数组中的最后一项

Last item in the array not selected

本文关键字:一项 最后 选择 数组      更新时间:2023-09-26

在这个脚本中:没有选择最后一项来应用colorMe函数

var k =0;
var userarray = [];
var dayarray  = [];
var dayarray2 = [];
var dayarray3 = [];
var data = 0;
function colorMe(param,param_af,param_eve, param2)
{

    /*console.log("DAY "+param);
    console.log("user "+param2);*/
    //console.log("k= "+k);
    console.log("data= "+data);
    userarray.push(param2);
    //console.log("mY "+userarray[k]);
    dayarray.push(param);
    dayarray2.push(param_af);
    //console.log("afternoon "+dayarray2[k]);
    dayarray3.push(param_eve);
    //console.log("evening "+dayarray3[k]);
    //console.log("Day "+dayarray[k]);
    var len = userarray.length;
    console.log("K= "+k);
    for(;data < k;data++)
    {
        //console.log("data="+ data);
    var arr = dayarray[data];
    var arr2 = dayarray2[data];
    var arr3 = dayarray3[data];
    $("div.morning_"+userarray[data]+" span").each(function() {
                if(arr.indexOf($(this).attr("class")) > -1) {
                  $(this).css("color","#26F525");
                }
            });

            $("div.afternoon_"+userarray[data]+" span").each(function() {
                if(arr2.indexOf($(this).attr("class")) > -1) {
                  $(this).css("color","#26F525");
                }
            });
            $("div.evening_"+userarray[data]+" span").each(function() {
                if(arr3.indexOf($(this).attr("class")) > -1) {
                  $(this).css("color","#26F525");
                }
            });
    }

**//这标识了最后一个项目,可以在这里做任何事情来像其他项目一样在匹配的字符串上应用颜色吗?**

    if(data == (localStorage.size-1)){
alert("data"+data+" k= "+k+"size= "+localStorage.size+"user= "+param2+"morn= "+param+"aftr="+param_af+"eve="+param_eve);    
    }
    k++;
}

我试图只给数组中的最后一个项目上色。我该怎么做?这是我的小提琴:https://jsfiddle.net/axpbe377/2/

HTML结构

<div id='1'>
User 1234
<div class='morning_1234'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
<div class='afternoon_1234'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
<div class='evening_1234'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
</div>
<br/><br/>
<div id='2'>
User 4455
<div class='morning_4455'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
<div class='afternoon_4455'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
<div class='evening_4455'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
</div>
<br/><br/>
<div id='3'>
User 9868
<div class='morning_9868'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
<div class='afternoon_9868'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
<div class='evening_9868'>
<span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
</div>
</div>

https://jsfiddle.net/axpbe377/3/

<div id='1'>
  User 1234
  <div class='morning_1234'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
  <div class='afternoon_1234'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
  <div class='evening_1234'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
</div>
<br/>
<br/>
<div id='2'>
  User 4455
  <div class='morning_4455'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
  <div class='afternoon_4455'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
  <div class='evening_4455'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
</div>
<br/>
<br/>
<div id='3'>
  User 9868
  <div class='morning_9868'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
  <div class='afternoon_9868'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
  <div class='evening_9868'>
    <span>Mon</span><span>Tue</span><span>Wed</span><span>Thrs</span><span>Fri</span><span>Sat</span><span>Sun</span>
  </div>
</div>

脚本

var data = [{
    user_id: 1234,
    morning: 'Sat,Sun',
    afternoon: 'Tue,Thrs,Sun',
    evening: ''
}, {
    user_id: 4455,
    morning: 'Thrs,Fri,Sun',
    afternoon: 'Tue',
    evening: 'Mon'
}, {
    user_id: 9868,
    morning: 'Tue,Wed',
    afternoon: 'Tue',
    evening: 'Fri,Sun'
}];
data.forEach(function(user) {
    var mornings = user.morning.split(',');
    var afternoons = user.afternoon.split(',');
    var evenings = user.evening.split(',');
    $("div.morning_" + user.user_id + " span").filter(function() {
        return mornings.indexOf(this.innerHTML) > -1;
    }).css('color', '#26F525');
    $("div.afternoon_" + user.user_id + " span").filter(function() {
        return afternoons.indexOf(this.innerHTML) > -1;
    }).css('color', '#26F525');
    $("div.evening_" + user.user_id + " span").filter(function() {
        return evenings.indexOf(this.innerHTML) > -1;
    }).css('color', '#26F525');
});

如果你想调用函数。。。https://jsfiddle.net/axpbe377/5/

data.forEach(function(user){
    colorMe(user.morning, user.afternoon, user.evening, user.user_id);
});
function colorMe(param, param2, param3, user_id){
    var mornings = param.split(',');
    var afternoons = param2.split(',');
    var evenings = param3.split(',');
    $("div.morning_"+ user_id +" span").filter(function(){
        return mornings.indexOf(this.innerHTML) > -1;
    }).css('color', '#26F525');
    $("div.afternoon_"+ user_id +" span").filter(function(){
        return afternoons.indexOf(this.innerHTML) > -1;
    }).css('color', '#26F525');
    $("div.evening_"+ user_id +" span").filter(function(){
      return evenings.indexOf(this.innerHTML) > -1;
    }).css('color', '#26F525');
}