0

このように生成された文字列変数があります

domNodes += '<a href="javascript: void(0);" data-role="node_jump" data-node="'+this.tagName.toLowerCase()+'">'+this.tagName + "</a>" + " &raquo; ";

また、ルックアップする文字列とそれを置き換える文字列を含む2D配列を格納する配列もあります。

var replaceTags = [["i", "em"], ["b", "strong"]];

this.tagName==の場合は、との同じものにi置き換えます。embstrong

私は以前にそれをしたのでこれが簡単であることを知っています、私はどうやってそれを思い出せません:(

4

2 に答える 2

1

次のような関数を作成できます。

function replaced(x) {
    var replaceTags = [["i", "em"], ["b", "strong"]];
    for(var i = 0; i < replaceTags.length; i++) {
        if(replaceTags[i][0] === x) return replaceTags[i][1];
    }
    return x;
}

次に、次のように呼び出します。

data-node="'+replaced(this.tagName.toLowerCase())+'"
于 2011-06-17T16:54:47.093 に答える
1

http://jsfiddle.net/Nw45Y/

var replaceTags = [["i", "em"], ["b", "strong"]];
var tn = this.tagName;
for (var i =0; i < replaceTags.length; i++) {
    tn = tn.replace(new RegExp(replaceTags[i][0], 'g'),replaceTags[i][1]);
}
于 2011-06-17T16:55:57.013 に答える