jquery - 位置方法而不是 jquery 事件中的选择器

标签 jquery jquery-selectors

我正在捕捉这样的自定义事件:

$("#my_div").on("custom_event", ".some_class:first", function...

这很好用。事情是因为jQuery 3.4 is deprecating :first 选择器(以及其他),我想做类似的事情

$("#my_div").on("custom_event", $(".some_class").first(), function...

但这行不通,因为 the selector parameter must be a string .在我的例子中,事件是在第一个事件之外的第二个、第三个等等捕获的。我只需要首先被捕获。

如何更新代码?我想避免和 if 语句来测试位置,有没有办法让它像以前一样工作?

最佳答案

您可以使用 ':first-child'相反。

$("#my_div .some_class:first-child").on("custom_event", function(){
   // code 
)};

如果你正在操作 DOM(动态创建元素),你只需要在一开始就存在的东西上使用 .on() ,选择器不会改变,例如:

$(document).on('custom_event', "#my_div .some_class:first-child",function(){
  // code
})

jquery 对其进行了更改以使其与 css 伪选择器匹配是有道理的。

关于jquery - 位置方法而不是 jquery 事件中的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60515136/

相关文章:

jquery - 选择子集中的第一个

javascript - Ext Component 查询选择器格式和选项

javascript - 选择焦点文本时的小错误

javascript - 窗口退出时的模态弹出窗口

jquery - 通过多个可能的属性值进行选择的更清晰的方法?

javascript - Cheerio 属性 StartsWith 选择器

javascript - 保存和加载 Jsplumb 图表

javascript - Post 参数不会从 ajax 请求发送到 PHP

jQuery:UL选择只有 child 的父李

javascript - 根据 <select> #1 的选定选项更改 <select> #2 的选定选项