我正在查看jquery api网站上的这段代码我怎么不明白它是如何工作的
我只是不明白这部分是如何工作的[0] .nodeName,0是做什么的?
$( "<b></b>" ).html( $( ":root" )[ 0 ].nodeName ).appendTo( "#log" );
答案 0 :(得分:1)
[0]
是与jQuery
对象(集合)一起使用的索引器,它返回零索引处的javascript DOM
对象,您可以访问作为DOM对象属性的nodeName
< em> not jQuery对象。如果选择器返回多个元素,则可以使用索引访问特定元素。记住它是基于零的索引,所以零是第一个元素。
$(":root")[0].nodeName //For first element
$(":root")[1].nodeName //For second element
您还可以使用get功能代替索引器[]
$(“:root”)。get(0).nodeName //第一个元素 $(“:root”)。get(0).nodeName //第二个元素
答案 1 :(得分:0)
$(":root")
用于选择代码中最顶层的元素是HTML $(":root")[0]
用于从所有这些中选择第一个元素,这意味着可以有多个元素具有相同的标记名称。nodeName
用于获取该标记的名称。答案 2 :(得分:0)
由例如返回的jQuery对象jQuery( ':root' )
总是返回一组元素,即使只有一个元素。您可以通过索引访问每个找到的DOM元素。
或者用jQuery文档的话来说:
jQuery对象本身就像一个数组;它有一个length属性,对象中的元素可以通过它们的数字索引[0]到[length-1]来访问。请注意,jQuery对象实际上不是Javascript Array对象,因此它没有真正的Array对象的所有方法,例如join()。
http://api.jquery.com/Types/#jQuery
要查明是否找到至少一个元素,您可以使用
if( jQuery( ':root' ).length > 0 ) { … }
MDN对DOM节点属性和方法有一个很好的概述:https://developer.mozilla.org/en-US/docs/Web/API/Node