Javascript 单击通过jQuery传递的HTML项

Javascript 单击通过jQuery传递的HTML项,javascript,jquery,Javascript,Jquery,我在jQuery(即.each方法)中有一个循环,它在DOM中循环遍历图像。我希望通过编程方式单击其中一个,如下所示: $("#gallery img").each(function(a, b){ if(a === 10 ){ console.log(b); // outputs <img scr="path/image.gif alt data-id="Christmas0110"> this.click(); } });

我在jQuery(即.each方法)中有一个循环,它在DOM中循环遍历图像。我希望通过编程方式单击其中一个,如下所示:

$("#gallery img").each(function(a, b){

    if(a === 10 ){    
        console.log(b); // outputs <img scr="path/image.gif alt data-id="Christmas0110">
        this.click();
    }

});
$(“#画廊img”)。每个(功能(a、b){
如果(a==10){

console.log(b);//输出首先,出于明显的安全原因,您不能模拟实际的用户单击

但是,您可以在
每个
函数中对作为变量
b
传递的对象进行操作


例如:
doSomething(b);

是的,您可以模拟用户单击-您很接近,但您需要通过以下方式将此
传递给jquery:
$(此)

$(“#画廊img”)。每个(功能(a、b){
如果(a==10){

console.log(b);//输出函数体中的“this”指的是索引10处的img(DOM,而不是jQuery)。如果您事先没有将任何实际执行任何操作的处理程序绑定到它,则该行为(get nothing)是预期的。在默认情况下,单击普通img标记不应执行任何操作。

是否尝试了$(this)。trigger('click'))?覆盖要首先单击的项的单击处理程序。然后,您可以调用覆盖函数$(this)。click()应该这样做--您确定IMG标记的事件侦听器正在工作吗?应该发生什么?我尝试了$(this)。click()和$(this)。trigger('click'))然而,在IE8中,这两种方法似乎都失败了——你的点击事件监听器是如何连接的,本机js还是jQuery?实际上,有很多方法可以发送点击事件来模拟用户点击。在JavaScript中对对象执行事件,即使你在DOM中冒泡事件,也与用户交互不同,例如允许尽管弹出窗口阻止程序处于活动状态,但仍会生成一个新窗口,或者允许在关闭自动下载安全设置的情况下开始下载文件。我尝试了$(this)。单击()和$(this)。触发器('click'))然而,在ie8中,这两种方法似乎都失败了。对于ie8失败:如何将点击事件绑定到img?好的,好的-首先,你必须使用jQuery 1.11--然后,如果
.trigger(“click”)
仍然不起作用,那么尝试
。在(“click”,function()/[…]
Woohoo,在我写某事的时候,有5个答案。似乎我写这方面太慢了:-)
$("#gallery img").each(function(a, b){

    if(a === 10 ){    
        console.log(b); // outputs <img scr="path/image.gif alt data-id="Christmas0110">
        $(this).click();
    }

});