如何替换jQuery DOM元素中的字符串

开始

我需要从jQuery ajax响应构建HTML。我不喜欢在JavaScript中嵌套丑陋的字符串,也不想使用胡须或任何其他模板化脚本。

因此,我采用了一种带有显示的HTML模板的方法:没有一个像下面这样:

<div id="message-template" class="message-tile" style="display: none;">
    <div class="profile-thumb"><img src="{{thumb-url}}" width="48" height="48" alt="{{person-name}}" /></div>
    <div class="message-data">
        <div class="message-info">
            <div class="sender-name">
                <a href="{{person-url}}">{{person-name}}</a>
            </div>
            <div class="posted-to">
                To <a href="{{posted-to-url}}">{{posted-to-title}}</a>
            </div>
        </div>
        <div>{{message-body}}</div>
    </div>
</div>

我希望能够用json对象中的实际值替换{{}}之间的字符串。假设这是在jQuery.ajax onSuccess事件上调用的函数:

function createNewElement(jsonObj) {
    var $clone = $('#message-template').clone();
    $clone.replaceString("{{person-name}}", jsonObj.personName);
    $clone.replaceString("{{thumb-url}}", jsonObj.thumbUrl);
    $clone.replaceString("{{person-url}}", jsonObj.personUrl);
    // etc
    $("#target-container").append($clone);
}

我发明了replaceString方法,但是有类似的东西吗?还是我需要使用find()遍历每个子元素?

威尔默

实际上,您可以<script type = "text/template">用来创建自己的模板,这样它就不会在您的页面上呈现:

<script id="message-template" type = "text/template">

    <div class="message-tile" style="display: none;">
        <div class="profile-thumb"><img src="{{thumb-url}}" width="48" height="48" alt="{{person-name}}" /></div>
        <div class="message-data">
            <div class="message-info">
                <div class="sender-name">
                    <a href="{{person-url}}">{{person-name}}</a>
                </div>
                <div class="posted-to">
                    To <a href="{{posted-to-url}}">{{posted-to-title}}</a>
                </div>
            </div>
            <div>{{message-body}}</div>
        </div>
    </div>

</script>

这是您替换值的方法:

function createNewElement(jsonObj) {
    var $clone = $('#message-template').html();
    $clone = $clone.replace("{{person-name}}", jsonObj.personName)
                   .replace("{{thumb-url}}", jsonObj.thumbUrl)
                   .replace("{{person-url}}", jsonObj.personUrl);
    // etc
    $("#target-container").append($clone);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何替换jQuery DOM元素中的字符串

来自分类Dev

用DOM元素替换字符串

来自分类Dev

如何使用JavaScript查找和替换HTML DOM元素中的字符串

来自分类Dev

使用jQuery替换/操作HTML字符串中的元素

来自分类Dev

搜索并替换字符串JQuery中的option元素

来自分类Dev

替换字符串中的元素

来自分类Dev

将字符串替换为DOM元素

来自分类Dev

如何替换属性JQuery中的子字符串

来自分类Dev

如何用jQuery替换或剥离字符串中的[数字]

来自分类Dev

Jquery在DOM中查找字符串并获取他的元素

来自分类Dev

如何从字符串中删除html DOM元素(使用javascript)?

来自分类Dev

jQuery替换元素中的多个字符串,而不替换元素

来自分类Dev

jQuery替换元素中的多个字符串,而不替换元素

来自分类Dev

jQuery数组元素中的字符串

来自分类Dev

jQuery数组元素中的字符串

来自分类Dev

如何替换字符串中的字符

来自分类Dev

用 HTML 元素替换字符串中的字符

来自分类Dev

如何使用jQuery分别分离字符串中的元素

来自分类Dev

如何使用jQuery分别分离字符串中的元素

来自分类Dev

替换jQuery字符串中的文本

来自分类Dev

Javascript用dom对象中的值替换字符串

来自分类Dev

如何在Javascript中将混合的HTML字符串/ DOM元素转换为DOM元素?

来自分类Dev

如何替换字符串中的字符串

来自分类Dev

如何在字符串中的元素周围移动元素

来自分类Dev

如何从字符串中替换€

来自分类Dev

如何替换列表中的字符串

来自分类Dev

以编程方式替换数组(字符串)中的元素

来自分类Dev

用str方法替换字符串中的多个元素

来自分类Dev

用向量中的元素替换子字符串

Related 相关文章

热门标签

归档