Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery中获取元素的第n个子元素_Javascript_Jquery_Html Lists - Fatal编程技术网

Javascript 如何在jquery中获取元素的第n个子元素

Javascript 如何在jquery中获取元素的第n个子元素,javascript,jquery,html-lists,Javascript,Jquery,Html Lists,我的代码如下。它是从滑块脚本创建的 <ul class="slick-dots" style="display: block;"> <li aria-hidden="true"> <div style="width:100%;height:100%;"> <img style="pointer-events:none;" osrc="images/1234.jpg"> </div

我的代码如下。它是从滑块脚本创建的

<ul class="slick-dots" style="display: block;">
    <li aria-hidden="true">
        <div style="width:100%;height:100%;">
            <img style="pointer-events:none;" osrc="images/1234.jpg">
        </div>
    </li>
    <li aria-hidden="true">
        <div style="width:100%;height:100%;">
            <img style="pointer-events:none;" osrc="images/234.jpg">
        </div>
    </li>
    <li aria-hidden="true">
        <div style="width:100%;height:100%;">
            <img style="pointer-events:none;" src="images/456.jpg">
        </div>
    </li>
    <li aria-hidden="false" class="slick-active">
        <div style="width:100%;height:100%;">
            <img style="pointer-events:none;" src="images/7809.jpg">
        </div>
    </li>
</ul>
是否有其他解决方案,或者是因为我的代码中有错误。

$('#fire')。单击(函数(){
fireClick(0);//例如,您希望在此处触发第一个li
});
$('li')。单击(函数(){
$(this.css('border','1px纯黑');
})
函数fireClick(元素){
var myTriggerPoint=元素;
$(“ul.slick-dots li”)。每个(功能(i,ele){
如果(i==myTriggerPoint){
$(ele).触发器(“单击”);
}
});
}


fire click
我这里有一些示例,说明如何选择列表项
  • 或者只需单击任何
  • 仅供参考:只需取消对相关行的注释,即可看到示例是否有效

    //假事件
    $(文档).on('click','ul.slick-dots li',函数(){
    $(this.css('background','red');
    });
    //触发第一个孩子
    //$('ul.slick dots')。子项('li')。获取(0)。单击();
    //$('ul.slick dots')。children('li:first child')。单击();
    //触发第二胎
    //$('ul.slick dots')。children('li')。get(1)。click();
    //触发最后一个孩子
    //$('ul.slick dots')。children('li')。get(3)。click();
    //$('ul.slick dots')。children('li:last child')。单击();
    //触发所有
    //$('ul.slick dots').children('li').each(function(){$(this.click();})
    ul{
    宽度:50%;
    }
    李{
    高度:30px;
    背景:灰色;
    利润率:10px;
    }
    
    

    基本上都写在这里:我认为第一和第三应该可以工作,你也可以把第三写成
    (“.圆点李:第N个孩子(2)”
    你的代码应该可以工作,只是我们不知道你在期待什么?!我将此代码添加到fiddle中。第一个和最后一个触发器工作正常。你应该检查一下别的东西。可能是,如果您正在使用插件,您如何检查它是否是触发的最后一个元素?显然你的观察是错误的。但同样,我们不知道它应该做什么,也不知道如何调试它。如果您提供了一个复制您的问题的最低限度示例,那么在您的示例中,它早就被修复了,因为
    myTriggerPoint=1
    它将针对第二个
    li
    ,而不是第一个,而且无论如何,使用每个循环都是无用的。OP posted代码更好,因为它也会触发最后一个li元素,而不是指定的元素。当有许多直接的方法通过索引访问元素时,循环所有匹配的元素来测试索引是一种可怕的方法。
    $("ul.slick-dots li").eq(1).trigger("click");
    $($('ul.slick-dots').children()[2]).trigger("click");
    $('.slick-dots > :nth-child(2)').trigger("click");