gpt4 book ai didi

javascript - 通过 javascript 单击链接

转载 作者:行者123 更新时间:2023-11-29 10:54:47 24 4
gpt4 key购买 nike

我正在寻找如何使用 javascript 单击我的页面上的链接。在我的页面中,我显示了我数据库中的每条记录。以及指向右键单击的“显示”链接,它将展开并详细显示该行。我想一次展开所有行。是否可以像这样在 Javascript 中单击链接?

最佳答案

您可以循环浏览所有 anchor ,然后单击它们,是的:

var myLinks = document.getElementsByTagName("a");
for (var i = 0; i < myLinks.length; i++) {
myLinks[i].click();
}

请注意,这将点击页面上的每个 链接。通过位于链接外部的父容器,您可以更多地关注一组特定的链接:

var myLinks = document.getElementById("container").getElementsByTagName("a");

这将获取 id 值为“container”的元素中的所有链接。

更新2:

在评论中,您想知道如何只单击其 ID 以特定字符串开头的链接。让我们看看可以将其实现到上述代码中的几种方法:

使用 jQuery,您可以点击所有 id='reviews-show...' 链接,如下所示:

$("a[id^='reviews-show']").click(); // simple, eh?

此选择器中的 ^= 以正则表达式样式匹配,询问字符串是否以“reviews-show”开始,这将仅检索 a 标签,此声明为真。

如果你想坚持使用普通的 javascript,我们可以修改我们的第一个代码块来检查子字符串:

var myLinks = document.getElementsByTagName("a");
for (var i = 0; i < myLinks.length; i++) {
currentlink = myLinks[i];
if (currentlink.id.substring(0,12) === "reviews-show") {
currentlink.click();
}
}

更新:

显然 jQuery让我心烦意乱,我的解决方案无法按原样运行。如果你不介意使用 jQuery(你会喜欢它),你可以走这条路:

$("a").click();           //clicks all links on page
$("#container a").click();//clicks all links within element having id 'container'

如果您想远离框架,请尝试将此原型(prototype)扩展添加到您的代码顶部,这将使我的原始答案足够:

HTMLElement.prototype.click = function() {
if (document.createEvent) {
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
} else if (this.fireEvent) {
this.fireEvent("onclick");
}
}

来源:http://www.barattalo.it/2009/11/18/click-links-with-javascript/

关于javascript - 通过 javascript 单击链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2260279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com