jQuery - '.on' 和 ':first'

标签 jquery

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

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

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/

最佳答案

使用 :first-child 代替

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

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

正如医生所说

The :first pseudo-class is equivalent to :eq(0). It could also be written as :lt(1).

While this matches only a single element, :first-child can match more than one: One for each parent.

:first 将仅匹配一个元素,即选定的一组元素上的第一个元素。其中 :first-child 将为每个父级找到一个(第一个子级),这正是您想要的。

文档 :first:first-child

关于jQuery - '.on' 和 ':first',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11150891/

相关文章:

javascript - 更改位置按钮与分页数据表内联

php - 在 woocommerce 中使用 ajax 从购物车中删除变量产品

javascript - 在文本框旁边添加一个按钮

jquery - 在函数中使用 jQuery 的 this 对象

PHP MySQL : Print Tree - Parent Child Checkbox

javascript - 选择内容以 '+' 开头的所有 <a> 元素

javascript - 使用 javascript 将 css 类添加到 <a> 标记

javascript - 在javascript中同步执行函数

javascript - 使用 jQuery 如何检测何时接近屏幕底部?

javascript - ajaxSuccess/ajaxError 与 ajaxComplete 的 jQuery 计时