首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将j/s变量注入到可重用的HTML块而不在j/s文件中混合这两个变量的有效方法是什么?

将j/s变量注入到可重用的HTML块而不在j/s文件中混合这两个变量的有效方法是什么?
EN

Stack Overflow用户
提问于 2011-07-03 08:05:42
回答 3查看 69关注 0票数 0

基本上,我有一个自动补全功能来帮助用户选择一个项目。当他们选择一个项目时,会保存一系列与该项目相关的变量。一旦他们点击“添加”,变量就会被注入到HTML模板中,而HTML模板也会被注入到DOM中。我的问题是,我如何才能做到这一点,而不必将我的HTML代码与j/s代码混合,即var example = "<div id='" + divId + "'></div>"; (等)。我希望问题已经足够清楚了。

EN

回答 3

Stack Overflow用户

发布于 2011-07-03 08:11:51

你调查过jQuery Templates吗?它基本上就是客户端数据绑定,这似乎就是您想要做的。

例如,你可以这样做..

假设您有一个Song对象列表,定义如下:

代码语言:javascript
复制
var song = {
  title : 'Purple Rain',
  artist : 'Prince'
};

HTML:

代码语言:javascript
复制
<!-- Template definition -->
<script id="tmpl_songList" type="text/html">
  <li>
    <a>
        <span>${title}</span>
        <span>${artist}</span>
    </a>
  </li>
</script>

<!-- HTML container to host data-bound list -->
<ul id="song_list"></ul>

JS:

代码语言:javascript
复制
// bind data (songList) and append to HTML container.
$.tmpl($('#tmpl_songList'), songList).appendTo($('#song_list'));
票数 3
EN

Stack Overflow用户

发布于 2011-07-03 08:12:13

你可以这样做:

代码语言:javascript
复制
var example = $("<div />").attr("id",divId);

但是当你有很多嵌套的标签时,创建每个元素可能是单调乏味的,在这种情况下,我会把它们混合在一起。

票数 0
EN

Stack Overflow用户

发布于 2011-07-03 08:45:04

尝试:

代码语言:javascript
复制
var myID = "id";
var myText = "Some Text"
$('<div/>', {
    id: myID,
    html: myText
  }).appendTo('body');

如果需要,可以添加更多属性。

另一方面,如果您的操作很复杂,请使用模板引擎。它更容易维护。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6560270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档