jquery中的函数序列

Sequence of functions in jquery

本文关键字:函数 jquery      更新时间:2023-09-26

我最近开始为Tampermonkey脚本使用jquery,它不执行函数中的逻辑序列。这是代码:

$(document).ready(function(){
    if ($(window).attr('location') == 'http:1') {
        $(window).attr('location', 'http:2');
    }
});
$(document).ready(function(){
    for(var i=2; i<7; i++){
        $elem = $('div#ing-' + i).find('span').css('color');
            if ($elem == 'rgb(255, 0, 0)'){ 
                $(window).attr('location', 'http:3...&r=' + i);
        }           
    }
    if($(window).attr('location')=='http:2'){
        $(window).attr('location', 'http:4');
    }
    $('#solicitar').trigger('click');
});  

我有两个问题,

第一:最后一个功能

if($(window).attr('location')=='http:2'){
        $(window).attr('location', 'http:4');
    }
    $('#solicitar').trigger('click');

是一个一直在运行的,它不运行FOR函数,它只是跳到那个部分并执行它。

第二:如果我只是运行循环FOR(忽略其他函数),第一条要执行的指令是当i=6和i=2时的最后一条,这对我来说根本没有意义。7

编辑:如果我的html(2)='http://www.aaa.com'和html(3和4)=http://www.aaa.com/index.php?p=bbblocation属性对它们一视同仁?

已解决。我只需要添加一个延迟,因为代码的运行速度比http刷新的速度快。

setTimeout(function(){
     if($(window).attr('location')=='http:1'){
        $(window).attr('location', 'http:2');
     }}, 5000);
    $('#solicitar').trigger('click');