-1

我有一个字符串 t2,我想根据以下if条件改变这个字符串。我试过.replace了,但它不起作用。

t2 = "<li class='coded_true'>"+tp_info.elements["info"].cdatas.join.strip+"</li>"

if (tp_info.attributes["ITcoded"]== "true")
                t2= t2.replace(t2,"<li class='coded_true ITcoded_true'>"+tp_info.elements["info"].cdatas.join.strip+"</li>");
                end

谢谢!

4

2 回答 2

2

无需用于.replace()替换整个字符串:

t2 = t2.replace(t2, ...);

此时,您可以直接分配替换:

t2 = "<li class='coded_true ITcoded_true'>"+tp_info.elements["info"].cdatas.join.strip+"</li>";

不过,由于它们之间的区别在于class名称,您可能会考虑尝试提前确定这些名称,然后再构建标记字符串。

var t2_class = ['coded_true'];

if (tp_info.attributes["ITcoded"] == "true") {
    t2_class.push('ITcoded_true');
}

var t2 = "<li class='" + t2_class.join(' ') + "'>"+tp_info.elements["info"].cdatas.join.strip+"</li>"
于 2013-08-13T21:21:15.057 回答
0

你的意思是做t2.replace(t2, ...吗?这应该始终用替换函数的定义替换整个字符串,因为您的搜索词就是字符串本身:

http://www.w3schools.com/jsref/jsref_replace.asp

于 2013-08-13T21:18:36.733 回答