首页 > 解决方案 > 如何将jquery实例传递给选择器

问题描述

我如何使用.eq()而不是:eq()

我想使用这样的东西->$('div').eq(1)

这是问题的代码片段

$(document).on('click', 'li.trigger div:eq(1) a.ajax img,' +
    ' li.event div:eq(1) a.ajax img', function (event) {

标签: javascriptjquerydeprecateddeprecation-warning

解决方案


您最有可能要做的事情的小型虚拟版本。您将需要使用eq()事件处理程序内部来检查事件的元素是否与您想要的元素匹配。

编辑:问题已从 to 的用法:eq改变:first。由于:first与 相同:eq(0),因此解决方案几乎没有改变。

$(document).on('click', 'button', e => {
  $('#container').append('<div><p>Click Me</p></div>');
});

$(document).on('click', 'div p', e => {
  if ($('div p').eq(0).is(e.target)) {
    console.log('You clicked the first paragraph!');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="container"></div>
<button>Add More</button>


推荐阅读