jQuery触发器点击第一个孩子

时间:2012-05-10 14:38:23

标签: jquery triggers click

我正准备在文档准备好时调用第一个.loader子项上的点击,但没有成功:

HTML:

<a class="loader" data-target="david-boy" title="Danny Boy-Rivera">
    <span class="img"><span class="play"></span><img src="img/gallery-image1.jpg" alt="" /></span>
    <h2>Danny Boy</h2>
</a>

jQuery的:

//Does not work
$('a.loader:first-child').bind('click');
$('a.loader:first-child').trigger('click');
$('a.loader:first-child').click();
//Works
$('a.loader:first-child').css("background", "red");

任何想法为什么?

更新

处理程序:

$('.loader').click(function(){
    var name=$(this).data("target");
    callVideo(name);
});

UPDATE2

所以问题是我在处理程序之前声明了:first-child动作。我改变了他们的位置,一切都好了

2 个答案:

答案 0 :(得分:6)

您是否在之前定义了处理程序,您启动了触发的“点击”?

除了我把处理程序 BEFORE 设置为触发器之外,这里的代码与你的小提琴完全相同

$(document).ready(function(){
    $('.loader').click(function(){
       alert($(this).data("target")); 
    });
    $('.loader:first-child').click();
    $('.loader:first-child').css("background", "red");
});​

这将弹出您正在寻找的警报

答案 1 :(得分:5)

您需要拥有click事件的处理程序......

$('a.loader:first-child').click(function(){
    alert('clicked');
});

$('a.loader:first-child').click();

更新:

您可能在元素准备好之前附加了处理程序。

$(function(){
    $('.loader').click(function(){
        var name=$(this).data("target");
            callVideo(name);
    });
});