提供该代码:
var lastVisibleElement =$('#test > div:visible').last()[0];
为什么我必须使用[0]来获取我的HTML。什么是[0]?
答案 0 :(得分:2)
只需使用console.log()自行分析
var lastVisibleElement = $('#test > div:visible').last()
console.log(lastVisibleElement);
您将看到jQuery结果/匹配作为具有数组类型包装器的对象返回。所以[0]只是指第一个元素。如果使用for循环,eq(num)函数就派上用场了
var objects = $('.selector');
for (var i = 0; i < objects.length; i++) {
console.log(objects.eq(i));
}
答案 1 :(得分:2)
数组表示法[0]
用于获取对实际DOM元素的引用,而不是jQuery对象。
$( "#foo" )[ 0 ]; // Equivalent to document.getElementById( "foo" )
答案 2 :(得分:2)
在创建新元素(或选择现有元素)时,jQuery返回jQuery对象集合中的元素。 jQuery提供了一个名为.get()
的方法,它不是返回一个jQuery包装的DOM元素,而是返回DOM元素本身。
// Selecting only the first <h1> element on the page.
var firstHeadingElem = $( "h1" ).get( 0 );
或者,因为jQuery对象是&#34;类似于数组,&#34;它通过括号支持数组下标:
// Selecting only the first <h1> element on the page (alternate approach).
var firstHeadingElem = $( "h1" )[ 0 ];