简体   繁体   English

页面加载时点击触发 (UL > LI)

[英]Click trigger on page load (UL > LI)

I have the following HTML code in my website:我的网站中有以下 HTML 代码:

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

Problem问题

The code is triggering the "onclick" event on the li element.该代码正在触发 li 元素上的“onclick”事件。 You want to trigger the "onclick" event on the "a" element.您想在“a”元素上触发“onclick”事件。

Solution解决方案

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

Example例子

See jsFiddlejsFiddle

If you are perfoming click action on Li tag , then below code will be helpfull.如果您在 Li 标签上执行点击操作,那么下面的代码会有所帮助。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM