获取具有相对于父元素的特定类的所有元素的索引

时间:2016-08-09 13:03:01

标签: jquery

是否有一个单行程序用于获取另一个元素中所有出现的HTML元素的索引?像这样:

<div id="Table"> //table
    <div> //table row
        <div class="string-cell"></div>
        <div class="date-cell"></div>
        <div class="bool-cell"></div>
        <div class="date-cell"></div>
    </div>
</div>

<script type="text/javascript">
    var tableid = "#Table";

    //Select all date cells and get their indices
    var datecellindices = $(tableid).????? //Should be 1 & 3
</script>

2 个答案:

答案 0 :(得分:0)

我们可以map将每个元素添加到其索引中,使用get将jquery结果集转换为数组,并将join一起转换为字符串。

$(tableid).children('.date-cell').map(function(){ return $(this).index() }).get().join()

答案 1 :(得分:0)

您可以使用jQuery.map

&#13;
&#13;
ar = $('#Table div div').map(function(i, el) { if ($(this).hasClass('date-cell')) {  return i; } return null;})

ar.each(
  function(i, val) { 
    console.log(val)
  }
)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Table"> //table
    <div> //table row
        <div class="string-cell"></div>
        <div class="date-cell"></div>
        <div class="bool-cell"></div>
        <div class="date-cell"></div>
    </div>
</div>
&#13;
&#13;
&#13;