Reputation: 75
I am having trouble getting this to work. I would like to trigger the second link. If anyone can help that would be much appreciated.
$(".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>
Upvotes: 5
Views: 22685
Reputation: 157
The above solutions did not work for me.
But this solution works for me.
$('#elementID').click(function () {
//some stuff
});
I need trigger to work when the page is loaded.
$( document ).ready(function() {
$('#elementID').trigger('click');
});
OR
If you do not need to run when the page is loaded, you can use it in the function.
function someFunction(){
$('#elementID').trigger('click');
}
Upvotes: 0
Reputation: 2731
To trigger for the second link only:
$(".links").eq(1).trigger('click');
.eq(n) reduce the set of matched elements to the one at the specified index. The index is zero based.
Upvotes: 4
Reputation: 322612
Have someFunction()
accept an argument that is the 0 based index of link you want to click.
function someFunction( n ){
$(".links:eq(" + n + ")").trigger('click');
}
someFunction( 1 ); // Pass 1 to trigger the second link
This uses the :eq()
selector. You could also use the .eq()
method if you wanted.
function someFunction( n ){
$(".links").eq( n ).trigger('click');
}
Upvotes: 9