Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击显示';什么是动态修改的?_Javascript_Jquery_Click_Tampermonkey - Fatal编程技术网

Javascript 单击显示';什么是动态修改的?

Javascript 单击显示';什么是动态修改的?,javascript,jquery,click,tampermonkey,Javascript,Jquery,Click,Tampermonkey,目标页具有以下来源: jQuery(function () { var delay = 1000; //1 sn var id = "0b9cfb9f62ef7a2"; jQuery.ajax({ "method":"get", "url":"?ajax="+id, "success": function (json) { //alert(json); json = JSON.

目标页具有以下来源:

jQuery(function () {
    var delay = 1000; //1 sn
    var id = "0b9cfb9f62ef7a2";
    jQuery.ajax({
        "method":"get",
        "url":"?ajax="+id,
        "success": function (json) {
            //alert(json);
            json = JSON.parse(json);
            setTimeout(function(){
                if(json.data != ""){
                    jQuery("#button").attr("class","btn btn-block btn-danger");
                    jQuery("#button").text(json.data);
                }else{
                    jQuery("#button").click(function(){location.href=json.url});
                    jQuery("#button").attr("class","btn btn-block btn-success");
                    jQuery("#button").text("Download!");
                }
            },delay);
        },
        "error":function(){
            alert("XXX");
        }
    });
});
我想做的是点击下载按钮在几秒钟后出现

我尝试使用以下代码:

waitForKeyElements ("#button:contains('Download')", clickSubmitBtnWhenItAppears);

function clickSubmitBtnWhenItAppears (jNode) {
    var clickEvent = document.createEvent ('MouseEvents');
    clickEvent.initEvent ('click', true, true);
    jNode[0].dispatchEvent (clickEvent);
}

但它不起作用!我想问题出在按钮上,但我想不出来。很抱歉我对JS的了解不够。

您的代码正在等待
#按钮的存在。它需要做的是等待
#button
的存在,并等待button有文本“Download”

在这种情况下,您应该能够通过如下方式调整jQuery选择器来实现:

waitForKeyElements ("#button:contains('Download')", clickSubmitBtnWhenItAppears);



对于更复杂的情况,您可能需要这样做。

我试过了,但没用。非常感谢!现在我明白了!