2010-10-20 5 views
5

У меня возникли проблемы с тем, чтобы это работало. Я хотел бы запустить вторую ссылку. Если кто-то может помочь, это будет очень признательно.jQuery .trigger ('click')

$(".links").click(function() { 
     alert($(this)); 
    }) 


    function someFunction(){ 
     $(".links").trigger('click'); 
    } 

    someFunction(); 

    ... 
    <a href="1.html" class="links">One</a> 
    <a href="2.html" class="links">Two</a> 
    <a href="3.html" class="links">Three</a> 

ответ

8

someFunction() Есть принимать аргумент, основанный индекс 0 из ссылки вы хотите нажать.

function someFunction(n){ 
    $(".links:eq(" + n + ")").trigger('click'); 
} 

someFunction(1); // Pass 1 to trigger the second link 

Используется the :eq() selector. Вы также можете использовать the .eq() method, если хотите.

function someFunction(n){ 
    $(".links").eq(n).trigger('click'); 
} 
+0

Спасибо, Патрик. Я действительно ценю твою помощь. Это именно то, что я искал. –

+0

@ Крис - Добро пожаловать. : o) – user113716

+1

просто была эта же проблема, спасибо за ваш ответ! –

3

Для того, чтобы вызвать только для второго звена:

$(".links").eq(1).trigger('click'); 

.eq (п) уменьшить набор соответствующих элементов к одному по указанному индексу. Индекс основан на нулевом значении.

+0

как это сделать для всех? – AbtPst