Ich bekomme den Namen eines Eingabeelements, das eine Zeichenfolge mit einer Nummer ist (). Ich möchte die Nummer mit 1 (url2
) auf die einfachste und schnellste Weise erhöhen.Inkrementieren Sie eine Zahl in einer Zeichenfolge mit Regex
Mein Weg wäre \d
/restofstring, ++
das Spiel zu bekommen, dann Nummer mit restofstring zusammen. Gibt es einen besseren Weg?
Update:
Mein letzter (Dummy) Code wurde:
var liNew = document.createElement('li');
liNew.innerHTML = liOld.innerHTML;
var els = Y.Dom.getChildrenBy(liNew, function(el) {
return el.name.match(/\d+$/);
} // YUI method where the function is a test
for (var i = 0, el; el = els[i]; i++) {
el.name = el.name.replace(/\d+$/, function(n) { return ++n });
}
list.appendChild(liNew);
Er, Sie kann nicht einfach Formelementnamen wie in IE ändern. Sie werden in Probleme stoßen: http://stackoverflow.com/questions/1650797/setting-name-of-dom-created-element-fails-in-ar-around –
Ok, danke für die Köpfe hoch. Wenn ich IE dafür unterstützen muss, verwende ich stattdessen YUI-Element. –