使用 jquery 单击文本链接

Click a text link with jquery

本文关键字:链接 文本 单击 jquery 使用      更新时间:2023-09-26

我正在尝试单击此页面底部带有文本"显示更多公司"的链接。

到目前为止,我尝试了这两种方法:

    $('a:contains("Show more companies")').click();
    $('a:contains("Show more companies")').trigger('click');

但是我收到此错误:

TypeError: Object <a class="button AjaxPagerLink" href="http://www.trustpilot.co.uk/categories/computer?page=2">
Show more companies </a> has no method 'click' at Request._callback (C:'app.js:42:43)

有什么线索吗?我的命令正确吗?任何建议/帮助真的非常感谢。

编辑:尝试了所有这些解决方案。收到相同的错误。

触发类应该很容易,但你应该验证(看起来是这样)只有一个具有该类名的元素。

$(".AjaxPagerLink").trigger("click");

第二个版本触发了该页面上的第一个class="AjaxPagerLink"元素,只是为了进行疯狂的猜测。

$(".AjaxPagerLink")[0].trigger("click");

您也可以尝试使用 [href^="http"] CSS 选择器。

$("a[href^='http://www.trustpilot.co.uk/categories/computer?page']").trigger("click");

通常:

使用类和 ID 检索 DOM 元素是一种最佳实践(因为它也比解析包含的文本更快)。

<a href='companies.html' id='show_companies'>Show more companies</a>

您应该为元素分配一个 ID,然后触发对该 ID 的单击:

$('#show_companies').trigger('click');

只需确保您的 ID 是唯一的(页面中必须只有一个 show_companies 元素)。

试试这个:

$('a.button.AjaxPagerLink').click();

这比根据文本进行选择要好。

编辑:如果这不是问题所在,请确保在为该链接注册onClickListener后调用.click()

尝试:

    $('a:contains("Show more companies")').click(function(){
         var link = $(this).attr('href');
         window.location.href = link;   
    }

$('a:contains("Show more companies")')[0].click();

试试这个:

  $('a:contains("Show more companies")')[0].click();

你也可以使用这个...

$(document).ready(function () {
        $('a:contains("Show more companies")').click(function () {
            alert('I am clicked');
        });
    });