a [href * =“”]不适用于包含链接的页面

时间:2018-09-08 18:02:40

标签: javascript jquery

我有一个链接数为'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() */

但是什么也没发生。我在做什么错了?

1 个答案:

答案 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");