如果我原来的功能是:
document.getElementsByClassName('blah')[9].innerHTML = 'blah';
...我将如何更改,以便在jquery中获得相同的项目?我有这个,但是当我把'[9]'放在最后它不起作用时:
$(data).find('.blah')[9].html();
我离开了[9],它只获得了第一个类名为'blah'的项目,我希望它能获得第10个项目。
答案 0 :(得分:18)
相当于
document.getElementsByClassName('blah')[9].innerHTML = 'blah';
$(".blah:eq(9)").html('blah');
$(".blah").eq(9).html('blah');
(...然后html
function设置内部HTML。)
答案 1 :(得分:2)
查看您要查找的内容为: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()或:甚至jQuery遵循JavaScript的“0索引”计数。给定一个包含两个
的单个,$('li:nth-child(1)')选择第一个 ,而$('li:eq(1)')选择第二个。
答案 2 :(得分:1)
尝试以下
$('.blah').eq(9).html('blah');
答案 3 :(得分:0)
另一个答案可能是:
$($(data).find('.blah')[9]).html();
当你使用[9]时,它返回一个DOM对象,它不知道html()是什么函数但是没有[9]它返回一个jtml对象,html()函数是它的一部分。
答案 4 :(得分:0)
试试这个
$(".blah:eq(9)").html('blah');
答案 5 :(得分:0)
$('.blah')[9].innerHTML="BLAH";
这应该可以解决您的问题
答案 6 :(得分:0)
试试这个
$('.blah').eq(9).html('blah');
答案 7 :(得分:0)
您还应该能够使用jQuery的get()方法:
$('.blah').get(9)
jQuery对象也作为索引数组作为返回元素运行,因此这也应该起作用:
$('.blah')[9]