使用javascript或jquery按类名自动点击链接?

时间:2013-10-17 11:54:56

标签: javascript jquery

我正在尝试使用类名而不是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>

7 个答案:

答案 0 :(得分:9)

你去:

<script type="text/javascript">
$(function(){
    $('.className').trigger('click');
});
</script>
希望有所帮助。

<强>更新

尝试:

<script type="text/javascript">
$(function(){
    window.location.href = $('.className').attr('href');
});
</script>
编辑后,我认为这就是你需要的。

答案 1 :(得分:6)

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函数)。

答案 2 :(得分:1)

$(document).ready(function(){
    $(".some-iclass").trigger('click');
    });

答案 3 :(得分:1)

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

简单

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

答案 4 :(得分:1)

用于自动点击按钮或链接

“&lt;”body onload =“document.getElementById('some-class')[0] .click()”“&gt;”

这有效...... :)

答案 5 :(得分:0)

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

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

如果您需要将其作为多个链接集合中的一个链接,则可以执行以下操作:

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

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

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

答案 6 :(得分:0)

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

<script> 
var myVar = setInterval(function ({document.getElementById("test").click();}, 500); 
setInterval(function () {clearInterval(myVar)}, 1000); 
</script>