Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Click trigger on page load (UL > LI)

I have the following HTML code in my website:

<div id="gallery">
    <ul class="pictures">
        <li><a href="#" data-filter="*" class="active">All</a></li>
        <li><a href="#" data-filter=".web">Web</a></li>
        <li><a href="#" data-filter=".design">Design</a></li>
        <li><a href="#" data-filter=".video">Video</a></li>
    </ul>
</div>

And I want to have a click event triggering when the page loads. I want the first (or second) list item to be clicked when the page loads.

I've tried with the following code, but I failed and I don't know how to do it:

$("document").ready(function() {
    setTimeout(function() {
        $("ul.pictures li:nth-child(2)").trigger("click");
    },10);
});
like image 680
silviu.scr Avatar asked Mar 02 '14 17:03

silviu.scr


2 Answers

Problem

The code is triggering the "onclick" event on the li element. You want to trigger the "onclick" event on the "a" element.

Solution

$('#gallery li:nth-child(2) a').click();

Example

See jsFiddle

like image 198
Pete Avatar answered Nov 19 '22 12:11

Pete


If you are perfoming click action on Li tag , then below code will be helpfull.

<div id="gallery">
    <ul class="pictures">
        <li><a href="#" data-filter="*" class="active">All</a></li>
        <li><a href="#" data-filter=".web">Web</a></li>
        <li><a href="#" data-filter=".design">Design</a></li>
        <li><a href="#" data-filter=".video">Video</a></li>
    </ul>
</div>
  setTimeout(function () {
                $('.pictures li:nth-child(1)').trigger("click");
            }, 10);
like image 31
rinku Choudhary Avatar answered Nov 19 '22 11:11

rinku Choudhary