使用:不是选择器与$(this)

Tom*_*Tom 3 javascript jquery

我有以下行可行

$("#myDiv img:not(:eq(0))").hide();
Run Code Online (Sandbox Code Playgroud)

我想写一个类似的行,但使用"this".所以:

$(this":not(:eq(0))").hide();
Run Code Online (Sandbox Code Playgroud)

但这不起作用......任何出错的想法?

Dav*_*ang 5

其他答案是忘记了一个重点 - this最有可能在某些事件中回调,并且可能是单个元素,因此它始终是selection(:eq(0))中的第一个元素.

因此,以下每个等效代码段都不会隐藏任何内容:

$(this).not(':eq(0)').hide();
$(this).filter(':gt(0)').hide();
$(this).slice(1).hide();
Run Code Online (Sandbox Code Playgroud)

我只是猜测OP的意图,但代码最有可能是:

if ($(this).index('#myDiv img') > 0) $(this).hide();
Run Code Online (Sandbox Code Playgroud)