如何使用Javascript加载文件的内容并在其中插入变量
How to load the contents of a file and insert a variable in it using Javascript?
我正在使用以下jQuery方法向div添加一些html:
$('#pageTabContent').append($(''
<div class="tab-pane" id="'+ticketId+'">'
And a whole lot more html here..
</div>'));
这工作得很好,但因为我有太多的html在我的javascript我想把它移动到一个单独的文件。问题是,我还需要在html中插入ticketId
。是否有一种方法使用Javascript/jQuery加载html从一个单独的文件,但仍然插入ticketId
在它?
[EDIT]请注意,每次使用这段代码,ticketId都是不同的。我将在一个页面加载中多次使用,所以我不能使用php在html中加载ticketId。必须在客户端完成。
欢迎所有提示!
对于特定的示例,它非常简单:
$.get("/path/to/file.html", function(html) {
var newStuff = $(html);
newStuff.find("div.tab-pane:first").attr("id", ticketId);
newStuff.appendTo("#pageTabContent");
});
你可以概括一下,基本的概念是:1。2.加载HTML。使用jQuery从它创建DOM元素。3 .使用jQuery查找有问题的元素并修改它。添加到元素
另一种方法是使用某种形式的模板,要么是模板插件,要么只是DIY:
$.get("/path/to/file.html", function(html) {
html = html.replace("{{ticketId}}", ticketId);
$("#pageTabContent").append(html);
});
同样,有插件和模板系统可以为你做这些,它们会提供各种各样的功能,而不是你自己做。
我一般建议避免在javascript中动态生成html。有几个很好的基于模板的框架。我喜欢在KnockoutJS中使用http://knockoutjs.com/
这种方法的另一个好处是模型和html元素之间的更改跟踪。相关文章:
- 使用jQuery动态添加表并在其中动态添加行
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- Javascript未在其中一个变量上输出0
- javascript在其中设置空格时会中断
- 我想在 javascript 中调用一个 php 函数,并在其中传递两个数组作为参数
- 如何将此转盘调整为仅当用户将鼠标悬停在其中一个框上时暂停
- 如何在手动插入一些文本后更新文本区域的ng模型
- 如何加载一个html页面并在其中只需单击一次即可运行函数
- 多个输入,用户只能在其中一个输入中输入
- 删除超链接将内容保留在其中
- 在动态插入的表行中使用引导开关
- 2个不同的控制器:在其中一个控制器的动作上隐藏元素
- 如果我在其中使用alert,Javascript代码就可以工作,否则它'It’不起作用
- 我如何在AJAX中循环数据并在其中存储特定值's各自的tr td
- 有没有什么干净的方法可以对一组||测试进行编码,看看变量的值是否在其中一个测试中
- 如何在动态插入的html文件中使用onload事件
- 使用“$filter”后选择当前数组项,查看它是否在其中
- 很少有$timeout问题 - 从单击开始,在其中插入功能
- 向控制台重复输出—我必须在其中插入回调
- 如何使用Javascript加载文件的内容并在其中插入变量