【问题标题】:JQuery - replace one string for another in .load-ed html?JQuery - 在.load-ed html中用一个字符串替换另一个字符串?
【发布时间】:2008-11-22 18:55:15
【问题描述】:

我正在使用

加载一个 html sn-p
$("#TemplateDump").load("Themes/default.template", function() { processTemplate() })

我正在加载的 html 包含

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

我需要将 ## 占位符替换为“joe”、“112”和“www.whatever.com”。是否有更多的 jquery 方式来执行此操作,而不是使用直接的 javascript .replace?周围有没有占位符替换插件?在 url 占位符上使用 .replace 在 IE 中也不起作用。不知道为什么。顺便说一句,模板不能更改。

【问题讨论】:

    标签: jquery


    【解决方案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);
        }
    );
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 2013-12-03
        • 2016-02-21
        • 2019-05-14
        • 1970-01-01
        • 2021-06-15
        • 2011-04-06
        • 2017-01-28
        • 2017-03-07
        相关资源
        最近更新 更多