2013-10-17 68 views
0

我正在嘗試使用類名而不是ID名自動單擊鏈接。使用javascript或jquery按類名自動點擊鏈接?

但是我的方法並沒有做任何事情!

這裏是我做了什麼:

<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> 
+1

你不能點擊它,因爲你還沒有定義鏈接標籤的點擊方法。 –

+0

最有可能的是,沒有點擊事件綁定到鏈接。然而,它**是可點擊的,如果在那裏有一個href,它會跟隨這個鏈接。 – SidOfc

回答

7

在這裏你去:

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

希望幫助。

UPDATE:

嘗試:

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

你的編輯之後,我覺得這是你所需要的。

+0

我試過使用你的代碼,它沒有工作!你能否提供一個jsfiddle? – user2889836

+0

iv'e編輯了我的答案,看看這是否更有幫助 – geevee

+0

這是它的配偶。大。欣賞它。 – user2889836

5

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(); 

但只有當click事件處理程序添加了jQuery時(在其他情況下,例如在href屬性的情況下,使用t他標準的dom功能)。

+1

+1爲$('。some-iclass')。click();'由於與舊版瀏覽器兼容, ie7 + – SidOfc

+0

可以請你提供一個工作jsfiddle,因爲我不能得到這個工作! – user2889836

+0

[Fiddle](http://jsfiddle.net/3xEEF/)。您使用Yahoo.com進行的測試無法正常工作,因爲Yahoo不希望將其嵌入到框架中(跨越原點設置)。 –

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

簡單的使用jQuery $(".some-iclass").click();

,如果你有很多與此類元素 - 點到想要的元素: 即$($(".some-iclass")[0]).click();

0

如果你想autoclick一個鏈接,你正在使用jQuery,你可以,如果你需要這是多個環節的集合在一個鏈接中使用

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

,你可以這樣做:

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

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

document.getElementsByClassName('yourClass');所以最好在這裏使用jQuery的跨瀏覽器兼容性不舊的瀏覽器。

1

用於自動點擊按鈕或鏈接

「< 」的onload體=「 的document.getElementById( '一些級')[0]。點擊()」, 「>」

此工程... :)

0

對於我來說,我設法使它工作的方式。我在5000毫秒內部署了自動點擊,然後在1000毫秒後關閉循環。然後只有1個自動點擊。

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