Jquery用分隔符替换字符串元素

时间:2015-10-12 11:18:32

标签: jquery

我有这样的字符串

var str = "<div class=\"@@obj.classname@@\" style="\@@obj.color@@\">@@obj.content@@</div>";

我想创建一个动态更改它并获得此结果的函数

var result = "<div class=\"" + opt.obj.classname + "\" style="\" opt.obj.color + "\">" + opt.obj.content + "</div>";

可以这样做吗?我怎么能这样做?替换功能可能有帮助吗?谢谢

2 个答案:

答案 0 :(得分:2)

您可以使用eval在字符串中执行某些代码。在此之前,您需要确保您的字符串是正确的代码,因此您需要将@@参数@@替换为包含'+的参数。像这样:

var str = "'" + str.replace(/@@(.*?)@@/g, "' + opt.$1 + '") + "'";
var result = eval(str);

工作示例:https://jsfiddle.net/hj3grh1o/

答案 1 :(得分:1)

也许试试

eval "var result = " + str.replace(/@@(.*?)@@/g, '" + opt.$1 + "');