jQuery:测试if元素是MATCHED元素的第一个

eme*_*his 3 javascript jquery

我有几个警报的div.用户解散它们并在最后一个(这是DOM中的第一个)之后我需要触发一些jquery魔法.

这是一些简化的HTML:

?<body>
<div class="">Bla bla bla</div>
<div class="alert">A</div>
<div class="alert">B</div>
</body>?
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试用jquery做的...

$(".alert").click( function() {

if ( $(this).is(".alert:first") ) { 
//do stuff
}

});
Run Code Online (Sandbox Code Playgroud)

它不起作用.条件永远不会返回true.我可以使用它的唯一方法就是使用.index()但很糟糕,因为如果标记的顺序发生变化,它将破坏脚本.

我究竟做错了什么?

编辑:解决方案使用.index()但在某种程度上,我没有意识到是可能的.它那样的话用相对匹配的选择.谢谢!

und*_*ned 6

你可以编码:

$(".alert").click(function() {
    if ($(".alert").index(this) == 0) {
       // 
    }
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/g2gGa/