例如:

<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>和其余列表

注意:我不知道页面的结构,因此我需要一些通用的知识并能处理所有结构

最佳答案

find()不同,children()仅返回给定元素的直接子代。

因此,您的查询应该准确地执行您想要的操作,并且只返回有问题的两个元素。如果不是这种情况,那么可能还有其他问题。请使用几乎完全相同的代码查看示例代码片段,以给出正确的结果:



$("#headerWrapper").children().each(function(){console.log(this)});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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>
</div>





旁注:不必使用选择器,因为children()children("*")在语义上是等效的。

关于javascript - jQuery-仅获得下一级 child ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11413377/

10-09 17:47
查看更多