Ottengo il nome di un elemento di input, che è una stringa con un numero (url1
). Voglio aumentare il numero di 1 (url2
) nel modo più semplice e veloce possibile.Incrementa un numero in una stringa con regex
Il mio modo sarebbe quello di ottenere/restofstring, ++
la partita, quindi mettere insieme il numero con restofstring. C'è un modo migliore?
Aggiornamento:
mio codice finale (fittizio) è diventato:
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, si non è sufficiente cambiare i nomi degli elementi del modulo come quello in IE. Ti imbatterai in problemi: http://stackoverflow.com/questions/1650797/setting-name-of-dom-created-element-fails-in-ie-workaround –
Ok, grazie per l'avviso. Se finisco per dover supportare IE per questo, userò invece YUI Element. –