2008-11-22 23 views
0

我加载使用JQuery - 在.load-ed html中替换另一个字符串?

$("#TemplateDump").load("Themes/default.template", function() { processTemplate() }) 

我加载包含

<div> 
`hello ##name##, your age is ##age##. 
your page is <a href="##website##">here</a> 
</div> 

我需要 “乔”,以取代##占位符, “112” 和“WWW的HTML的HTML片段。 whatever.com”。有没有更像jquery这样做而不是直接使用javascript .replace?有没有更换插件的地方?使用.replace在IE浏览器的URL占位符只是不工作。不知道为什么。顺便说一句,模板不能改变。

回答

1

做香草简单的模板系统JavaScript并不是太难。

var myValues = { 
    name : 'Joe', 
    age : '112', 
    website: 'http://www.whatever.com' 
}; 
var myString = "hello ##name## ..."; // etc 

for (var key in myValues) { 
    myString.replace(new RegExp("##" + key + "##", g), myValues[key]); 
} 

只要确保在HTML插入到文档中之前在HTML上运行此脚本。您可能想要使用除load()之外的其他AJAX功能,也许是get()

$.get(
    'themes/default.template', 
    {}, 
    function (data) { 
     data = processTemplate(data); 
     $('#templateDump').html(data); 
    } 
); 
相关问题