具有相同类的元素id的数组

时间:2014-04-28 10:03:29

标签: javascript jquery html arrays

我是Javascript的新手,需要你的帮助。 我希望有一个元素ID数组供下次使用。

示例:

<div id="myDiv">
  <input type="checkbox" id="checkbox1" class="checkboxes" value="checkbox1_v">
  <input type="checkbox" id="checkbox2" class="checkboxes" value="checkbox2_v">
  <input type="checkbox" id="checkbox3" class="checkboxes" value="checkbox3_v">
  <input type="checkbox" id="checkbox4" class="checkboxes" value="checkbox4_v">
</div>

我需要的是这样的数组(“checkbox1,checkbox2,checkbox3,checkbox4”)设置为var以便在下一个js函数中使用,如果选中了合适的复选框,则显示/隐藏div(使用forEach检查每个复选框和如果选择,则设置为.show to div)。

显示/隐藏我拥有的js的一部分,并且在测试中它适用于一个特定的复选框。但是拥有数组的原因是复选框的数量是动态的,而常见的属性只是外部div和输入类的“myDiv”。

提前致谢。

2 个答案:

答案 0 :(得分:4)

您可以使用.map()生成像

这样的数组
var ids = $('#myDiv .checkboxes').map(function(){
    return this.id;
}).get();

在这种情况下,它会使用类复选框

生成一个包含所有元素的ID的数组

答案 1 :(得分:0)

您可以使用 .map()

  

通过函数传递当前匹配集中的每个元素,   生成一个包含返回值的新jQuery对象。

var idArr = $('#myDiv input[type="checkbox"]').map(function() {
    return this.id
}).get();

<强> Fiddle Demo