2011-10-10 10 views
0

我有一堆的div的每個DIV ID開始一個共同的名字和一個室內用遞增的數字結尾:如何找到最新的股利ID計數器

<div id="thisismydiv1"></div> 
<div id="thisismydiv2"></div> 
<div id="thisismydiv3"></div> 
<div id="thisismydiv4"></div> 

如何瞭解最新的數字,即4使用jQuery?

+0

嗯,你想的最後一個div或#4或最後一個div的id? – mrtsherman

+0

好的建設性評論@tereško,如果你要打它,解釋不要鈍。 – Gabe

+0

@加貝,沒有關於這個混亂的目的的額外信息,我沒有辦法告訴,什麼爲OP想要這個和這個問題背後的原因是什麼。他要求ATM提供一個補丁(一個修補程序(對(一個問題)的解決方案進行修改))而不是解釋問題並尋求最佳解決方案。這是一個黑客。一個非常糟糕的黑客 –

回答

1
var token = "thisismydiv"; 
var id = $('div[id^="' + token + '"]').last().id; 
id = id.replace(token, ''); 
alert(id); 

d EMO:jsFiddle

+1

使用'.id'而不是'.attr('id')'。 – MacMac

0
$("div").last().attr('id'); 

$("div:last").attr('id'); 

.last():last會做

+0

他說他有一堆divs。 –

0

使用[^=]選擇找到其中ID以該字符串開始的元素,得到了ID的數字部分,分析它,併爲您的最高值:

var highest = 0; 
$('[id^="thisismydiv"]').each(function(){ 
    var id = parseInt(this.id.substr(11)); 
    if (id > highest) highest = id; 
}); 

alert(highest); 

演示: http://jsfiddle.net/Guffa/cdQ9C/

0

如果父容器只有這些div並且您的ID從一開始並且遞增1,那麼您可以只獲取父項的子項數。

$("parent").children().length; 

如果沒有,您可以使用last選擇器像其他人所提到的。