2

我正在尝试使用类名而不是 ID 名称自动单击链接。

但是我的方法无济于事!

这是我所做的:

    <script type="text/javascript">
$(document).ready(function(){
   document.getElementsByClassName("some-iclass").click();
});
</script> 

有人可以指出我正确的方向吗?

编辑:

我已经使用了以下代码,但仍然无法正常工作:

<script type="text/javascript">
$(document).ready(function(){
  $(".myLink").click();
});
</script>

<a class="myLink" href="http://yahoo.com"> CLICK HERE NOW </a>

我的页眉顶部有这个:

    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

EIDT:

我也试过了,还是不行:

<script type="text/javascript">
$(document).ready(function(){
    $('.myLink').trigger('click');
    });
</script>
4

7 回答 7

12

干得好:

<script type="text/javascript">
$(function(){
    $('.className').trigger('click');
});
</script>

希望有帮助。

更新:

尝试:

<script type="text/javascript">
$(function(){
    window.location.href = $('.className').attr('href');
});
</script>

编辑后,我认为这就是您所需要的。

于 2013-10-17T11:56:44.767 回答
7

getElementsByClassName不返回元素,而是返回可能包含多个元素的 NodeList。

你可以这样做:

document.getElementsByClassName("some-iclass")[0].click();

或者如果你想点击所有元素:

var list = document.getElementsByClassName("some-iclass");
for (var i=0; i<list.length; i++) list[i].click();

但是当你使用 jQuery 时,它会更简单

$('.some-iclass').click();

但仅当使用 jQuery 添加 click 事件处理程序时(在其他情况下,例如在 href 属性的情况下,使用标准 dom 函数)。

于 2013-10-17T11:56:14.507 回答
1
$(document).ready(function(){
    $(".some-iclass").trigger('click');
    });
于 2013-10-17T11:57:15.967 回答
1

用jquery简单$(".some-iclass").click();

如果你有很多这个类的元素 - 指向想要的元素:即 $($(".some-iclass")[0]).click();

于 2013-10-17T11:58:20.247 回答
1

用于自动单击按钮或链接

"<"body onload="document.getElementById('some-class')[0].click()" ">"

这有效... :)

于 2014-01-17T13:25:14.763 回答
0

如果你想自动点击一个链接并且你正在使用 jQuery,你可以使用

$('.yourClass').click();

如果您需要它成为多个链接集合中的一个链接,您可以这样做:

$($('.yourClass')[0]).click();

其中 0 是 jQuery 对象中元素的索引。

document.getElementsByClassName('yourClass');不适用于旧浏览器,因此最好在此处使用 jQuery 以实现跨浏览器兼容性。

于 2013-10-17T11:59:23.580 回答
0

对我来说,我设法让它这样工作。我在 5000 毫秒内部署了自动点击,然后在 1000 毫秒后关闭了循环。然后只有 1 次自动点击。

<script> 
var myVar = setInterval(function ({document.getElementById("test").click();}, 500); 
setInterval(function () {clearInterval(myVar)}, 1000); 
</script>
于 2017-02-07T13:01:06.987 回答