2

如果我有一个<div>其中包含可变元素的 a ,每个元素都有一个不同的id,这是一个数字 - 例如,三个带有ids 的图像12以及3- 我如何编写一个函数来获取这些ids 然后将它们全部导出为一个整数而不是一个字符串?

目前我有一个函数可以获取 id 并导出它们,但是有一个问题。假设我用ids放了三个图像123放入<div>. 当它导出ids 并进入数据库时​​,我没有得到 123 的条目;我得到 1、2 或 3。我想这是因为函数将其导出为1,2,3而不是123. 任何人都可以帮忙吗?

我的代码(#div父级在哪里,<div>并且是我要收集children的带有 s 的元素):id

$("#submit").click(function () {
    $("#div").children().each(function(n, i) {
        var boxid = this.id;
        // Do something with the ids
    });
});
4

4 回答 4

1

你真的不应该使用数字作为 id,但如果你是,

$("#submit").click(function () {
     var sum = 0;
     $("#div").children().each(function(n, i) {
      var boxid = this.id;
      sum += boxid;
    });
});
于 2012-09-20T17:04:02.007 回答
0

如果你想得到 123 整数的结果,你可以使用map方法然后join结果。

$("#submit").click(function () {
    var boxid = $("#div").children().map(function() {
          return this.id;
    }).get().join('') 

    boxid = Number(boxid)
});

http://jsfiddle.net/rEfXb/

于 2012-09-20T17:04:56.757 回答
0

您可以使用以下内容:

var idString = $("#div").children().map(function(){
    return this.id;
}).get().join("");

如果您需要它是一个实际的 int,请使用 parseInt。否则,您可以只使用字符串。

var idInt = parseInt(idString,10);

但请注意 numericid在 html 5 之前无效。

于 2012-09-20T17:06:32.660 回答
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'
于 2012-09-20T17:11:12.863 回答