获取特定的div

问题描述:

similiar ID的所有DIV值我有一个div结构像下面获取特定的div

<div id=main"> 
<input type="hidden" id="people_0_1_0" value="12"/> 
<input type="hidden" id="people_0_1_1" value="12"/> 
</div> 

现在如何在一个变量添加所有隐藏的输入值。感谢

+0

“在一个变量”?你能举一个例子结果吗? – Ryan 2012-03-29 13:56:41

+0

这是唯一的例子 – manishjangir 2012-03-29 13:57:27

+0

使用任何客户端?你有你的代码吗? – 2012-03-29 13:57:47

使用jQuery的map功能

var myArray = $('#main input').map(function(){ 
    return $(this).val(); 
}).get(); 

它将收集所有输入的值(在本例12和12),以数组变量。

见的jsfiddle http://jsfiddle.net/GkXUS/1/

如果你想获取值的总和,你可以做以下

var total = 0; 
$.each(myArray,function() { 
    total += parseInt(this,10); 
}); 
​ 
+0

关于地图的快速问题,将它用于选择器和每个选择器(在此示例中)有什么好处? (明显少了一些代码,但速度更快?) – Magrangs 2012-03-29 14:01:38

+0

@Magrangs'map'为您提供集合作为结果值,而对于'each',您必须在每个回调之外初始化集合并添加到其中遍历元素。 – Yoshi 2012-03-29 14:04:59

+0

加上yoshi的评论,map是返回新的数组,每个都是返回相同的数组。所以在这种情况下需要创建新的数组,所以它说你使用地图。较少的代码是另一个好处。 查看更多详情http://*.com/questions/749084/jquery-map-vs-each – 2012-03-29 14:05:55

我想你想的:

var hidden_value = new Array(); 
var hiddens = document.getElementById("main").childNodes; 
for(i = 0 ; i < hiddens.length ; i++){ 
    hidden_value.push(hiddens[ i ].value); 
} 
+0

你的代码不起作用,这是你的小提琴http://jsfiddle.net/sK4Nt/,检查我的答案。 – 2012-03-29 14:40:00

+0

@SheikhHeera这就是答案:[undefined,“12”,undefined,“12”,undefined]。现在,“12”代表答案。不要争论编辑代码+) – 2012-03-29 14:42:11

+0

OP只需要来自隐藏输入的值。 – 2012-03-29 14:44:23

var total = 0; 

$('#main input[id^="people_"]').each(function(){ 
    total += parseInt(this.value, 10); 
}); 

注意,我我正在使用属性从选择器开始,以查找其ID为开始的所有输入元素。

total会给你所有输入元素值的总和。

+0

+1:这是满足所有要求的唯一答案。 – 2012-03-29 14:01:53

+0

@manishjangir - 这是你在找什么? – ShankarSangoli 2012-03-29 14:08:21

+0

一个建议 - 我会编辑答案并将'#main' div添加到选择器。 – 2012-03-29 14:10:35

你可以尝试这样的事:

var peopleData = $("#main input[type=hidden]").serializeArray(); 

把值的变量是没有意义的。您可以在一个阵列插入值,并执行所需的操作

+0

你不能添加数字,并把总和在一个变量? – 2012-03-29 14:00:45

使用普通的JavaScript

var els=document.getElementById('main').childNodes; 
var a​llVal​=​​​​​​​​[]; 
for(i=0; i<els.length-1; i++) 
{ 
    if(els[i].nodeType != 3 && els[i].type=="hidden") allVal.push(els[i].value); 
} 
console.log(allVal); // the array 
console.log(allVal[0]); // first value 

一个例子是here