1

是否可以将:firstand:last选择器与 jQuery 的选择器一起使用?

我希望每个列表项中的第一个链接触发警报。但是,目前,只有第一个链接会触发它。

JavaScript 代码:

<script type="text/javascript">
    $(document).ready( function(){
        $('ul').on("click", "li a:first", function(event) {
            alert("test");
        });
    }
</script>

和 HTML:

<ul>
    <li>
        <a href="#">Trigger</a>
        <a href="#">Don't Trigger</a>
    </li>
    <li>
        <a href="#">Trigger</a>
        <a href="#">Don't Trigger</a>
    </li>
</ul>

演示:http: //jsfiddle.net/pjgalbraith/tuJnv/

4

3 回答 3

8

:first-child改为使用

$('ul').on("click", "li a:first-child", function(event) {
    alert("test");
});

演示:http: //jsfiddle.net/joycse06/tuJnv/1/

正如医生所说

:first 伪类等价于 :eq(0)。它也可以写成:lt(1)。

虽然这仅匹配一个元素,但 :first-child 可以匹配多个:每个父元素一个。

:first将只匹配一个元素,首先在选定的一组元素上。在哪里:first-child可以找到the first child你想要的每个父母的一个()。

文档:first:first-child

于 2012-06-22T06:02:39.367 回答
2

更改:first:first-child

<script type="text/javascript"> 
    $(document).ready( function(){ 
        $('ul').on("click", "li a:first-child", function(event) { 
            alert("test"); 
        }); 
    } 
</script> 

Fiddle 上的代码位置:http: //jsfiddle.net/tuJnv/3/

于 2012-06-22T06:05:37.317 回答
-1

例如可以这样做 - http://jsfiddle.net/tuJnv/7/

于 2012-06-22T06:08:26.413 回答