我正在编写一个插件,以便在亚马逊卖家中央仪表板内为自己处理有用的信息。
出于某种原因,下一页链接上的click()
调用不会从上下文脚本中触发。
代码正在运行,但这没有任何作用:
var $next = $('a:contains(Next)');
$next.click();
但奇怪的是有效:
var $next = $('a:contains(Next)');
window.location = $next.attr("href");
链接HTML的示例是:
<td align="right" valign="middle" width="60%" class="tiny">
<nobr> <a href="https://sellercentral-europe.amazon.com/gp/feedback-manager/view-all-feedback.html?ie=UTF8&currentPage=2&dateRange=&descendingOrder=1&pageSize=50&sortType=Date">Next</a>
</nobr>
</td>
在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&dateRange=&descendingOrder=1&sortType=Date">
<span class="awesomeButton buttonLarge primaryLargeButton inner_button">
<span class="button_label">View all your feedback</span>
</span>
</a>
答案 0 :(得分:5)
DOM Elements have a native .click()
method。因此,以下示例有效:
$('a')[0].click()
(example)
$('a').get(0).click()
(example)
document.querySelector('a').click()
(example) - 值得指出jQuery 不是
这使我假设您在选择元素集合(jQuery对象)时无法以编程方式更改URL。我想你需要选择单独的DOM元素。因此,以下应该工作:
var $next = $('a:contains(Next)');
$next[0].click();