2012-07-10 40 views
1

例如:的jQuery - 获得一个新的水平的孩子只有

<div id="headerWrapper"> 
       <H1>TEST</H1> 
       <div id="paarofileLinks"> 
        <ul id="primaryNav" role="navigation"> 
         <li id="musicNav" class="navItem"> 
          <a href="/music" class="nav-link">Music</a> 
         </li> 
         <li id="listenNav" class="navItem"> 
          <a href="/listen" class="nav-link">Radio</a> 
         </li> 
         <li id="eventsNav" class="navItem"> 
          <a href="/events" class="nav-link nna" id="vbulletin_css2">Events</a> 
         </li> 
         <li id="chartsNav" class="navItem"> 
          <a href="/charts" class="nav-link">Charts</a> 
         </li> 
         <li id="communityNav" class="navItem"> 
          <a href="/community" class="nav-link">Community</a> 
         </li> 
         <li id="originalsNav" class="navItem"> 
          <div> 
           <a href="http://originals.last.fm" class="nav-link">Originals</a> 
          </div> 

         </li> 
        </ul> 
       </div> 

,如果我用这个选择

$("#headerWrapper").children("*"); 

它会得到所有的孩子,但我需要返回刚才

<H1>TEST</H1> 
<div id="paarofileLinks"></div> 

没有<ul>和剩余的列表

说明:我不知道页面的结构,所以我需要一些东西来做一般的工作,并与所有结构一起工作

+1

你所描述的**是'.children()'函数的功能,尽管你不需要使用''*“'选择器。 – 2012-07-10 12:33:58

回答

3

不像find(),children()只选择元素的直接子元素。

所以你的查询只返回你想要的2个元素。如果情况并非如此,那么你做错了什么。

Demo with your markup

您使用选择器是没有必要的,因为children()children("*")返回相同的结果。

数组中的第二个元素(它是div)包含你的ul和它的子元素。所以如果你进一步传播,你也会得到所有这些元素。但是,查询只会返回您提到的2个元素。

+0

我使用[phpquery](http://code.google.com/p/phpquery/),它似乎是一个图书馆中的错误,让所有的孩子感谢您的答案 – 2012-07-10 12:52:45

相关问题