0

我尝试替换我定义的特殊字符,这些字符包含在我的所有 < h2 >

我已经编写了这段代码,但它仍然无法正常工作。

   var charMap = {
    à:'a',è:'e',é:'e',ä:'a',ë:'e',
    ö:'o',â:'a',À:'A',É:'E',È:'E',
};
$('h2').each(function() {
        var str = $(this).text() ;

        var str_array = str.split('');

        for( var i = 0, len = str_array.length; i < len; i++ ) {
            str_array[ i ] = charMap[ str_array[ i ] ] || str_array[ i ];
        };
    });

感谢您帮助像我这样的新手 :)

4

1 回答 1

2

您还必须实际设置新值:

...
for( var i = 0, len = str_array.length; i < len; i++ ) {
    str_array[ i ] = charMap[ str_array[ i ] ] || str_array[ i ];
};
$(this).text(str_array.join(''));

其中内置函数Array.join实际上是String.split.

于 2012-07-05T13:37:09.260 回答