如果我有一个<div>
,其中包含可变元素,每个元素都有一个不同的id
,这是一个数字 - 例如,三个图像带有id
s {{ 1}},1
和2
- 如何编写一个函数来获取这些3
然后将它们作为整数而不是字符串一起导出?
目前我有一个抓住id并输出它们的功能,但是有一个问题。假设我将id
id
1
,2
和3
的三张图片放入<div>
。当它导出id
并进入数据库时,我没有得到123的条目;我得到1,2或3.我想这是因为函数将其导出为1,2,3
而不是123
。有人可以帮忙吗?
我的代码(其中#div
是父<div>
而children
是我要收集的id
s的元素:
$("#submit").click(function () {
$("#div").children().each(function(n, i) {
var boxid = this.id;
// Do something with the ids
});
});
答案 0 :(得分:1)
你真的不应该使用数字作为id,但如果你是,
$("#submit").click(function () {
var sum = 0;
$("#div").children().each(function(n, i) {
var boxid = this.id;
sum += boxid;
});
});
答案 1 :(得分:0)
如果您想将结果设为123整数,可以使用map
方法,然后使用join
结果。
$("#submit").click(function () {
var boxid = $("#div").children().map(function() {
return this.id;
}).get().join('')
boxid = Number(boxid)
});
答案 2 :(得分:0)
您可以使用以下内容:
var idString = $("#div").children().map(function(){
return this.id;
}).get().join("");
如果您需要它是一个实际的int,请使用parseInt。否则,您只需使用字符串。
var idInt = parseInt(idString,10);
但请注意,数字id
在html 5之前无效。
答案 3 :(得分:0)
您可以使用reduce
:)
我们假设我们有这个HTML:
<div id="outer">
<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
<div id="4"></div>
</div>
然后你可以使用这段代码:
jQuery('#outer > *').toArray().reduce(function(value, elem) {
return value + elem.id
}, '')
// => '1234'