Javascript Can';在ajax加载我要单击的内容后,在我的代码中不执行.click()

Javascript Can';在ajax加载我要单击的内容后,在我的代码中不执行.click(),javascript,ajax,userscripts,Javascript,Ajax,Userscripts,我正在编写一个用户脚本,该脚本将在调用Ajax更新的按钮上单击(),加载后我需要单击()。在该Ajax更新加载的按钮上单击() 这是我正在使用的代码: document.querySelectorAll('#main > div:nth-child(6) > input:nth-child(6)')[0].click(); setTimeout(function() { document.querySelectorAll('#main > div:nth-child(6) &g

我正在编写一个用户脚本,该脚本将在调用Ajax更新的按钮上单击(),加载后我需要单击()。在该Ajax更新加载的按钮上单击()

这是我正在使用的代码:

document.querySelectorAll('#main > div:nth-child(6) > input:nth-child(6)')[0].click();
setTimeout(function() { document.querySelectorAll('#main > div:nth-child(6) > input:nth-child(8)')[0].click(); }, 1000);

编辑:我忘了提到脚本通过单击在两个页面之间跳转。第一个有效,但第二个.click()返回我正在尝试的按钮。click()未定义。所以我认为我的选择器不好,并从Chrome开发工具中复制了它。但问题依然存在。有人建议将.click()放在Ajax回调中,但我还必须将插入此.click()的代码插入到“现在”按钮中,它将永远持续下去。

似乎您在代码片段中遗漏了很多内容(如果看到它格式化的话也会很好)。在ajax调用中,您应该将其放在“成功”块中

您希望触发对按钮上已存在的侦听器的单击。首先绑定侦听器,然后在用户操作上触发单击

    $.ajax({
        url: 'MyURL',
        contentType: 'YourContentType',
        type: 'GETorPOST',
        dataType: 'yourDataType'})
    .success(function (result) {
        $("#myButton").trigger("click");
        OR
        clickYourButtonFunction();
    })
    .error(function (xhr, status) {
        console.log(status);
    });

在更新DOM后,将调用
的代码放入AJAX回调中。