1

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

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

    });

});
4

1 回答 1

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-/, '');
    });
});
于 2009-02-10T13:46:03.973 回答