Jquery nodeName简单查询?

时间:2013-09-26 07:06:26

标签: jquery

我正在查看jquery api网站上的这段代码我怎么不明白它是如何工作的

我只是不明白这部分是如何工作的[0] .nodeName,0是做什么的?

        $( "<b></b>" ).html( $( ":root" )[ 0 ].nodeName ).appendTo( "#log" );

完整代码请到http://api.jquery.com/root-selector/

3 个答案:

答案 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)

  1. $(":root")用于选择代码中最顶层的元素是HTML
  2. $(":root")[0]用于从所有这些中选择第一个元素,这意味着可以有多个元素具有相同的标记名称。
  3. 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