我的网页上有“ 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() */
但是什么也没发生。我究竟做错了什么?
最佳答案
只需使用正确的变量,并删除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");