我有这样的事情:
<div id="row1">Some content</div>
<div id="row2">Some content</div>
<div id="row3">Some content</div>
<div id="row4">Some content</div>
<div id="row7">Some content</div>
<div id="row15">Some content</div>
<div id="row915">Some content</div>
<div id="row919">Some content</div>
行实际上是从PHP数组中提取的,现在我需要提取最后一行的数字,例如在这种情况下,这将是919.(因此,当我使用append通过jQuery生成更多行时,我可以向行id添加+1)....任何想法?
答案 0 :(得分:5)
我建议您不要这样做,而是使用最后一个值保留变量。然后当你附加时你可以改变这个值。这节省了获取id并解析它。
答案 1 :(得分:2)
假设它们在同一个div中,假设row919是最后一个元素,你可以这样做:
var last_element_id = $('.parentDiv').last().attr('id');
var number = last_element_id.replace('row','');
答案 2 :(得分:1)
如果你不能做乔恩建议你可以试试这个:
var max = -Infinity;
$('div').each(function () {
var match = this.id.match(/^row([0-9]+)$/)
if (max < match[1]) {
max = match[1];
}
});
$('#row' + max).html('Max!');
以下是一个示例小提琴:http://jsfiddle.net/HTkkb/
上面的脚本找到所有div的id的后缀的最大数量,并获取标识为row + max
的元素
答案 3 :(得分:0)
更容易使用data-
属性和类:
<div class="row" data-id="1">Some content</div>
<div class="row" data-id="2">Some content</div>
正如其他答案所说,存储变量和递增会更好地获得下一个增量。但是你仍然应该考虑data-id结构,而不是试图从id属性中解析出来的id属性。
答案 4 :(得分:0)