我有一个链接数为'n'的页面。我要收集其href包含xyz.com的所有链接,然后“随机”单击其中之一。
我为此编写了以下脚本:
function clickLinkWithText () {
var links = $('a[href*="xyz.com"]')
var randomNum = Math.floor(Math.random()*links.length);
var targetLink = links.get(randomNumber);
if (targetLink.length) {
triggerMouseEvent (targetLink[0], "click");
}
}
/* code for triggerMouseEvent() */
但是什么也没发生。我在做什么错了?
答案 0 :(得分:1)
只需使用正确的变量,并摆脱if
语句,因为get
的返回值是元素本身,因此不需要进一步的下标:
function clickLinkWithText () {
var links = $('a[href*="xyz.com"]');
var randomNum = Math.floor(Math.random()*links.length);
var targetLink = links.get(randomNum); // use the right variable here
triggerMouseEvent (targetLink, "click"); // call triggerMouseEvent on the element
}
注意::传递给triggerMouseEvent
的元素是DOM元素,而不是jQuery包装的元素。如果triggerMouseEvent
期望使用jQuery对象,则像这样调用triggerMouseEvent
:
triggerMouseEvent ($(targetLink), "click");