2012-09-20 81 views
2

如果我有一個<div>已經在它的可變因素,每一個不同的id,這是第一位的 - 因此,例如,三張影像id小號1,23 - 我該如何編寫一個函數來獲取這些id,然後將它們全部以整數形式而不是字符串形式導出?獲取元素的ID,然後將它們組合成一個整數

目前我有一個函數可以抓取id並導出它們,但是有一個問題。說我把id s 1,23三個圖像放到<div>。當它輸出id s並進入數據庫時​​,我沒有得到123的條目;我得到1,2或3.我想這是因爲該功能將其導出爲1,2,3而不是123。誰能幫忙?

我的代碼(其中#div是父<div>children都與id就是我要收集的元素):

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

回答

0

如果你想要得到的結果作爲123的整數,則可以使用map方法,然後join結果。如果你需要的是一個實際的INT,使用parseInt函數

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

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

    boxid = Number(boxid) 
}); 

http://jsfiddle.net/rEfXb/

+0

它完美的工作!謝謝大家,接受這個簡單的原因。 – user1686689

1

你真的不應該使用數字作爲ID,但如果你是,

$("#submit").click(function() { 
    var sum = 0; 
    $("#div").children().each(function(n, i) { 
     var boxid = this.id; 
     sum += boxid; 
    }); 
}); 
+0

這將返回'6'而不是'123' –

+0

是的,如果我沒有記錯,那麼根據標準,以數字開頭的ID是無效的。 –

+0

@VijayDev在HTML5中可以是任何字符 –

0

您可以使用以下。否則,你可以使用字符串。

var idInt = parseInt(idString,10); 

但是要注意,數字id s爲之前沒有有效的HTML 5

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' 
相關問題