jQuery click()无法在Google Chrome扩展程序中使用

Gon*_*ing 2 javascript jquery google-chrome-extension

我正在编写一个插件,以便在亚马逊卖家中央仪表板中为自己处理有用的信息.

由于某种原因,click()下一页链接的调用不会从上下文脚本中触发.

代码正在运行,但这没有任何作用:

var $next = $('a:contains(Next)');
$next.click();
Run Code Online (Sandbox Code Playgroud)

但奇怪的是这有效:

var $next = $('a:contains(Next)');
window.location = $next.attr("href");
Run Code Online (Sandbox Code Playgroud)

链接HTML的示例是:

<td align="right" valign="middle" width="60%" class="tiny">
    <nobr>&nbsp;&nbsp;&nbsp;<a href="https://sellercentral-europe.amazon.com/gp/feedback-manager/view-all-feedback.html?ie=UTF8&amp;currentPage=2&amp;dateRange=&amp;descendingOrder=1&amp;pageSize=50&amp;sortType=Date">Next</a>
    </nobr>
</td>
Run Code Online (Sandbox Code Playgroud)

在Chrome扩展程序中运行点击事件有任何限制吗?按下另一页上的按钮效果很好(尽管那个结构不同 - 见下文):

<a class="buttonImage" name="View all your feedback" href="https://sellercentral-europe.amazon.com/gp/feedback-manager/view-all-feedback.html/ref=fb_fbmgr_vwallfb?ie=UTF8&amp;dateRange=&amp;descendingOrder=1&amp;sortType=Date">
    <span class="awesomeButton buttonLarge primaryLargeButton inner_button">
        <span class="button_label">View all your feedback</span>
    </span>
</a>
Run Code Online (Sandbox Code Playgroud)

Jos*_*ier 5

DOM元素具有本机.click()方法.因此以下示例有效:

$('a')[0].click() (例)

$('a').get(0).click() (例)

document.querySelector('a').click() (示例) - 值得指出的是jQuery 不是必需的

相关的W3文档.


这使我假设您在选择元素集合(jQuery对象)时无法以编程方式更改URL.我想你需要选择单独的DOM元素.因此,以下应该有效:

var $next = $('a:contains(Next)');
$next[0].click();
Run Code Online (Sandbox Code Playgroud)