jQuery click() 在 Google Chrome 扩展程序中不起作用

jQuery click() not working in Google Chrome extension

我正在编写一个插件来为我自己在亚马逊卖家中央控制面板中处理有用的信息。

出于某种原因,下一页 link 上的 click() 调用不会从上下文脚本内部触发。

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

var $next = $('a:contains(Next)');
$next.click();

但奇怪的是这个有效:

var $next = $('a:contains(Next)');
window.location = $next.attr("href");

link的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>

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

<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>

DOM 个元素 have a native .click() method。因此,以下示例有效:

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

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

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

相关W3 documentation.


这让我假设当 select 元素集合(jQuery 对象)时,您不能以编程方式更改 URL。我想您需要 select 单个 DOM 元素。因此,以下 应该 有效:

var $next = $('a:contains(Next)');
$next[0].click();