有没有更好的方法来编写这个javascript正则表达式/替换?

时间:2009-02-10 13:41:11

标签: javascript jquery regex replace

以下代码有效,但我确信有更简洁的方法可以实现相同的结果,尤其是字符串替换:

$('#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);

    });

});

1 个答案:

答案 0 :(得分:1)

$('#nav-main .nav-sub').each(function() {
    var name = $(this).attr('id');
    $('li a', this).each(function() {       
        this.id = (name + '-' + $(this).text().toLowerCase().replace(/\s/g, '-')).replace(/sub-/, '');
    });
});