0

我有一个像这样生成的字符串变量

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

我还有一个数组,其中包含一个二维数组,其中包含一个要查找的字符串和一个替换它的字符串:

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

如果this.tagName==i则替换em为相同的 forbstrong

我知道这很简单,因为我以前做过,我只是不记得是怎么做的:(

4

2 回答 2

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 回答
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 回答