繁体   English   中英

如何用jQuery中的变量对象替换HTML中的变量?

How do I replace variables in HTML with an object of variables from jQuery?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我试图为我的网页创建一个系统,该系统获取HTML中找到的模板的内容,然后将适当的变量替换为存储在对象中的相应值。 问题是什么都没有被取代。 在此示例中,我获取了显示论坛帖子的RSS文件的内容。 我使用ajax来获取内容,然后遍历每个项目。 我将xml标记值分配给一个对象,该对象的键与HTML模板中的变量相对应。 对于找到的每个帖子,都应使用xml标签的内容替换HTML变量。

这是我的Javascript:

$.ajax({
        url: "rsstest.xml",
        type: "GET",
        dataType: 'xml',
        crossDomain: true,
        success: function(xml){
            var news = $('#news-results');
            news.empty();
            if($(xml).find('item').length > 0){
                $(xml).find('item').each(function(){
                    var temp_vars = {
                            news_title: $(this).find('title').text(),
                            news_body: $(this).find('description').text(),
                            news_date: $(this).find('pubDate').text(),
                            news_link: $(this).find('link').text()
                    }
                    var template = $('#news-template').contents().clone();
                    for(const variable in temp_vars){
                        template.text().replace("{"+variable+"}", temp_vars[variable])
                    }
                    news.append(template);
                })
            } else {
                news.append($('<p></p>').text('There is no news to display at this time.'));
            }
        }
    })

这是我的HTML:

<h1>Announcements</h1>
<div id="news-results">
</div>
<div id="news-template" style="display: none;">
    <div class="media">
        <div class="media-body">
            <h3>{news_title}</h3>
            <p>{news_body}</p>
            <div class="media-footer">
                <div class="col-left">
                    <h4>Posted on {news_date}</h4>
                </div>
                <div class="col-right">
                    <a href="{news_link}" class="btn btn-default">Read More</a>
                </div>
            </div>
        </div>
    </div>
</div>

我究竟做错了什么?

1 个回复

下面的代码将仅替换文本而不分配文本。

template.html().replace("{"+variable+"}", temp_vars[variable])

替换文本后,您必须进行分配以更新实际值。

template.html(template.html().replace("{"+variable+"}", temp_vars[variable]))
6 如何用html中的图像替换文本

我有这个代码,我想用我自己的图像替换“文本示例”。 我尝试用 CSS 替换它,但我做得最糟糕。 提前致谢。 ...

2020-05-03 17:43:31 1 41   html
7 在jQuery中替换变量

我有一个弦 我需要放置循环,其中VAR_将被NEW_VAR_替换,其中数字保持不变。 我如何在jQuery中做到这一点? ...

2016-06-10 04:17:09 1 23   jquery
9 如何用python中的json替换变量的值?

在上面的脚本中,我创建了一个UUID并将其分配给变量random_uuid 。 我希望创建的UUID在json内random_uuid为key id random_uuid值。 但是,上面的脚本并没有替换random_uuid的值,而只是使用变量random_uuid本身。 有人可以 ...

10 如何用pandas对象中的子串替换值?

我在Latitude数据集中有坐标,每个数据集都以字母结尾(例如N)。 仅检索数字并替换原始值的最佳方法是什么? 我的尝试是: 但是我得到了一条AttributeError消息。 我也尝试用正则表达式替换值,但我不确定如何使它成功。 我很感激任何建议,谢谢。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM