使用 jquery 单击文本链接
Click a text link with jquery
我正在尝试单击此页面底部带有文本"显示更多公司"的链接。
到目前为止,我尝试了这两种方法:
$('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');
});
});
相关文章:
- 替换移动设备的链接文本
- 用于更改链接文本的字体颜色的代码
- 如何使用JavaScript将链接文本添加到电子邮件中
- 在没有 jquery 的情况下更改子节点(父节点具有 ID)中的链接文本
- 如何为应用深度链接创建超链接文本
- HTML5 中图像顶部的超链接文本
- 如何使用JavaScript在HTML表格中获取td内部的链接文本
- JavaScript:链接网址,但从显示的链接文本中删除“http://”
- Javascript 在添加表行时添加链接文本
- jQuery 中的链接文本框
- 更改锚链接文本的大小和颜色
- 根据链接文本的内容添加类
- 使用javascript在页面上搜索链接文本
- 使用XML文档中的内容更新链接文本
- 查找具有正则表达式的链接文本
- 在Extjs中动态更改超链接文本
- 在Javascript/JQuery中从超链接文本获取Href
- 捕获链接文本并将其作为查询字符串附加到URL
- 用于获取链接文本的正则表达式
- 将单击的链接文本传递给PHP,并使用该链接文本检索所有图像并在另一个页面中显示它们