我有带有动态 ID 的 div 元素。
<div id="parent">
<div id="elmn1"></div>
<div id="id-has-changed"></div>
<div id="elmn3"></div>
<div id="elmn4"></div>
<div id="id-has-changed-by-user-from-input-field"></div>
</div>
所有元素id
(#parent 除外)可由用户从输入字段进行编辑,因此 #parent 的最后一个子级可能具有用户设置的新 id。
我想检查编号最大的元素(4
)在他们的最后一部分id
我想在下一个元素中添加一个新元素id
.
var nextId = "elmn" + (numberOfLastElement + 1);
var newElmn = document.createElement("div");
newElmn.id = nextId;
document.getElementById("parent").appendChild(newElmn);
在这种特殊情况下,新元素将具有id="elmn5"
.
我的问题是,如何获得numberOfLastElement
?
Updated
小提琴的最终版本 http://jsfiddle.net/95h7b6ce/2/
var myEl = document.getElementById('parent').children;
var highest = null;
var idName= null;
if (myEl){
for (var ii=0;ii<myEl.length;ii++){
var temp = myEl[ii].getAttribute('id');
var intval = temp.match(/\d+/g)
if (intval !=null){
if(intval>highest){
highest = intval;
idName = temp;
}
}
}
}
console.log(idName);
留下下面的代码以获取历史信息
这里有一个工作 JSFiddle http://jsfiddle.net/95h7b6ce/.
var myEl = document.getElementById('parent').children;
var count = 0;
if (myEl) {
var match = 'elmn';
for (var ii = 0; ii < myEl.length; ii++) {
var temp = myEl[ii].getAttribute('id');
if (temp.indexOf(match) == 0) {
count++
}
}
}
alert('count is ' + count);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)