如果我原来的功能是:
document.getElementsByClassName('blah')[9].innerHTML = 'blah';
...我将如何更改它以便在 jquery 中获得相同的项目?我有这个,但是当我把'[9]'放在最后时它不起作用:
$(data).find('.blah')[9].html();
如果我把 [9] 排除在外,它只会得到第一个类名为“blah”的项目,我希望它得到第 10 个项目。
如果我原来的功能是:
document.getElementsByClassName('blah')[9].innerHTML = 'blah';
...我将如何更改它以便在 jquery 中获得相同的项目?我有这个,但是当我把'[9]'放在最后时它不起作用:
$(data).find('.blah')[9].html();
如果我把 [9] 排除在外,它只会得到第一个类名为“blah”的项目,我希望它得到第 10 个项目。
看看你要找的是:eq()
:
$('.blah').eq(9).html('blah');
因为:eq()
被0
索引,所以:eq(9)
会在第 10 个索引处找到该项目。
还有:nth-child()
功能:
$('.blah:nth-child(10)').html('blah');
因为:nth-child()
已1
编入索引,所以您必须在此处排第 10 位。
因为 jQuery 对 :nth- 选择器的实现是严格从 CSS 规范派生的,所以 n 的值是“1-indexed”,意味着从 1 开始计数。对于其他选择器表达式,例如 :eq() 或 :even jQuery JavaScript 的“0-indexed”计数。给定一个包含两个
s, $('li:nth-child(1)') 选择第一个 而 $('li:eq(1)') 选择第二个。
尝试以下
$('.blah').eq(9).html('blah');
试试这个
$('.blah').eq(9).html('blah');
您还应该能够使用 jQuery 的 get() 方法:
$('.blah').get(9)
jQuery objects also function as indexed arrays as returned elements, so this should also work:
$('.blah')[9]
另一个答案可能是:
$($(data).find('.blah')[9]).html();
当您使用 [9] 时,它返回一个不知道 html() 函数是什么的 DOM 对象,但没有 [9] 它返回一个 html() 函数所属的 jQuery 对象。
试试这个
$(".blah:eq(9)").html('blah');
$('.blah')[9].innerHTML="BLAH";
这应该可以解决您的问题