Имея это
class="row45"
Я хотел бы сделать это "row46", используя jquery или простой javascript
Пробовал что-то вроде этого:
var row = $(this).parents('tr').prev();
var rclass = row.attr('class');
var class_number = rclass.match(/(\d+)/g);
но это только дало мне число 45.
Ты сделал:
var row = $(this).parents('tr').prev();
var rclass = row.attr('class');
var class_number = rclass.match(/(\d+)/g);
После этого просто выполните:
class_number = parseInt(class_number) + 1;
rclass = "row"+class_number;
row.attr("class", rclass);
И эта строка теперь будет иметь класс "row46", а у rclass будет строка "row46".
Возьмите эту строку, преобразуйте ее в число и добавьте ее
var class_number = rclass.match(/(\d+)/g)[0];
var num = parseInt(class_number, 10) + 1;
console.log(num); //46
другой способ заменить
var nextClass = rclass.replace(/(\d+)/g, function(a){ return parseInt(a,10) + 1; });
console.log(nextClass); //row46
Я использовал String.replace(regexp, function) для такого рода вещей.
// returns "row46"
"row45".replace(/(\d+)/, function(theString, theNumber) {
return (+theNumber) + 1;
});