Следующий код работает, но я уверен, что есть более компактный способ достижения того же результата, особенно замена строки:
$('#nav-main .nav-sub').each(function() {
var name = $(this).attr('id');
$(this).children('li').children('a').each(function() {
var text = $(this).text().toLowerCase();
var spaces = / /g;
var sub = /sub-/;
var id = name + '-' + text.replace(spaces, '-');
var id = id.replace(sub, '');
$(this).attr('id', id);
});
});