如何在JQuery中获取nexted div的每个第一个元素的id

时间:2015-07-16 12:06:49

标签: javascript jquery html

这是我的HTML代码

<div id="parent">
    <div id="computer">
        <div id="items">
            <div id="1">hp</div>
            <div id="2">compaq</div>
            <div id="3">toshiba</div>
        </div>
    </div>
    <div id="laptop">
        <div id="1">i5</div>
        <div id="2">dual core</div>
        <div id="3">i3</div>
    </div>
    <div id="printer">
        <div id="laser">hp laser</div>
    </div>
    <div id="cpu">
        <div id="item">
            <div id="1">pintuim</div>
            <div id="2">celeron</div>
        </div>
    </div>
    <div id="scanner">
    <div id="canon">
            <div>canon</div>
        </div>
    </div>
</div>`

我正在尝试获取父div的每个第一个元素的id 那是为了得到一个 array=[computer, laptop, printer, cpu, scanner]

这是我的jquery代码,但它正在采取一切。

var a = $("div.content :nth-child(1)")find("*").toArray();

我需要一些帮助,谢谢

2 个答案:

答案 0 :(得分:1)

这些是#parent元素的子元素,因此您可以使用.map()迭代它并使用default methods on interfaces

创建一个数组

&#13;
&#13;
var array = $('#parent').children().map(function() {
  return this.id;
}).get();

snippet.log(array)
&#13;
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="parent">
  <div id="computer">
    <div id="items">
      <div id="1">hp</div>
      <div id="2">compaq</div>
      <div id="3">toshiba</div>
    </div>
  </div>
  <div id="laptop">
    <div id="1">i5</div>
    <div id="2">dual core</div>
    <div id="3">i3</div>
  </div>
  <div id="printer">
    <div id="laser">hp laser</div>
  </div>
  <div id="cpu">
    <div id="item">
      <div id="1">pintuim</div>
      <div id="2">celeron</div>
    </div>
  </div>
  <div id="scanner">
    <div id="canon">
      <div>canon</div>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

jQuery中有一个选择器,它将返回第一级孩子: DEMO

var a=[];
$("#parent > div").each(function(){ // using > will return the first level of children
    a.push($(this).attr('id'));
});
alert(a);