我有一个ID如下的元素列表:
<li id="item_1">Item 1</li>
<li id="item_2">Item 2</li>
<li id="item_4">Item 4</li>
现在,如果要向列表中添加另一个元素,我想按数字顺序查找第一个可用/缺失的ID。因此,在这种情况下,它将是
item_3
,然后将其插入item_2
和item_4
之间。像这样吗
var myArray = [];
$('li').each(function(e) {
var myID = e.id;
myArray.push(myID.substring(myID.length -1));
});
//Find the first available/missing number using the array somehow?
最佳答案
像这样:
function getNextId() {
var nextId;
$('li').each(function(i,el) {
var nameId = el.id.split("_")[1];
if (i + 1 < nameId) {
console.log("Found",i,nameId,el);
nextId = i;
// return false will break jquery each loop
return false;
}
});
// nextId is 0 based so 0 is first element
return nextId+1;
}
console.log(getNextId());
工作示例:http://jsfiddle.net/YDwy3/