getElementsByClassName与jquery

Ale*_*lex 10 javascript jquery

如果我原来的功能是:

document.getElementsByClassName('blah')[9].innerHTML = 'blah';
Run Code Online (Sandbox Code Playgroud)

...我将如何更改,以便在jquery中获得相同的项目?我有这个,但是当我把'[9]'放在最后它不起作用:

$(data).find('.blah')[9].html();
Run Code Online (Sandbox Code Playgroud)

我离开了[9],它只获得了第一个类名为'blah'的项目,我希望它能得到第10个项目.

T.J*_*der 20

相当于

document.getElementsByClassName('blah')[9].innerHTML = 'blah';
Run Code Online (Sandbox Code Playgroud)

是使用:eq伪选择器:

$(".blah:eq(9)").html('blah');
Run Code Online (Sandbox Code Playgroud)

或eq功能:

$(".blah").eq(9).html('blah');
Run Code Online (Sandbox Code Playgroud)

(...然后是设置内部HTML 的html函数.)

  • 首选`.eq()`作为`:eq()`伪类是非标准的,因此会触发sizzle(jQuery的选择器引擎).这比尽可能使用的本机`querySelectorAll()`慢 (3认同)