jquery - javascript nodeType is 1 no matter what? - Stack Overflow

I'm trying to find all text nodes on the page using jquery. But no matter what element I select, t

I'm trying to find all text nodes on the page using jquery. But no matter what element I select, the nodeType is always 1:

$.each($('*'), function(index, el) { console.log(el.nodeType) });

Which resulted in nothing but "1" being output in the console. And to prove there is a "text node" on the page:

$('p:first').html()
=> "
            I'm text
          "

$('p:first')[0].nodeType
=> 1

What am I missing here? I'm using safari 5.0.4. I get the same result in firefox 3.6.12.

Thanks.

I'm trying to find all text nodes on the page using jquery. But no matter what element I select, the nodeType is always 1:

$.each($('*'), function(index, el) { console.log(el.nodeType) });

Which resulted in nothing but "1" being output in the console. And to prove there is a "text node" on the page:

$('p:first').html()
=> "
            I'm text
          "

$('p:first')[0].nodeType
=> 1

What am I missing here? I'm using safari 5.0.4. I get the same result in firefox 3.6.12.

Thanks.

Share Improve this question edited Mar 13, 2011 at 18:43 user1385191 asked Mar 13, 2011 at 18:11 Binary LogicBinary Logic 2,6027 gold badges32 silver badges41 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 9

jQuery will only select element nodes.

$('p:first') actually selects the first <p> element. To access the contained text node, you would need to access firstChild at the DOM node:

alert($('p:first')[0].nodeName) // alerts P                 <-- element node
alert($('p:first')[0].firstChild.nodeName) // alerts #text  <-- text node

DEMO

Maybe you also have a misunderstanding: Elements containing text are not text nodes. Every element you create with tags <..> is an element node.

Example:

<p>
  Foo
  <span>Bar</span>
  Baz
</p>

The element node <p> has three children: Two text nodes, containing the text Foo and Baz, and an element node <span> which itself has a text node as child, containing Bar.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744293206a4567132.html

相关推荐

  • jquery - javascript nodeType is 1 no matter what? - Stack Overflow

    I'm trying to find all text nodes on the page using jquery. But no matter what element I select, t

    7天前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信