如何正确使用html脚本模板
how to use html script template correctly
我必须自动生成一些li元素,我的方法是通过一个在循环中返回文本的函数来实现,比如:
function getLi(data) {
return '<li>' + data + '</li>';
}
然后我找到了一个更好的方法,在div中编写html:
<div style="display:none;" id="Template">
<li id="value"></li>
</div>
然后我会更改id和值,获取html并将元素重置为原始状态:
var element = $("#value");
element.html(data);
element.attr('id', getNewId());
var htmlText = $("#Template").html();
element.html('');
element.attr('id', 'value');
return htmlText;
然后我正在阅读脚本模板
我觉得这可能是一个更好的方法,
然而,根据本文,由于内部元素不存在,因此应用以前的代码不起作用
那么我该如何应用呢?
编辑:我放入一个ul标签,我使用此方法动态获取项目
第2版:
<li>
<a href="#" >
<span>
<span>
some text
</span>
</span>
</li>
这不一定是我所拥有的,而是
第3版:我的ul并不存在,它是动态生成的我坚持这不是重复的,我想知道如何使用带有一些动态变量的模板
您可以执行以下操作。它干净、可重复使用且可读。
//A function that would return an item object
function buildItem(content, id) {
return $("<li/>", {
id: id,
html: content
});
}
在循环中,您可以执行以下操作。不要在循环中附加每个LI,因为DOM操作成本很高。因此,生成每个项目并堆叠一个对象,如下所示。
var $items = $();
// loop begin
var contents = ['<a href="#"><span><span>', data, '</span></span></a>'].join('');
var $item = buildItem(contents, getNewId());
$items.add($item);
// loop end
就在循环之外。将那些生成的LI附加到期望的UL,如下所示。
$("ul").append($items);
这就是我要做的,我相信还有很多更好的方法。希望能有所帮助。
一种选择是升级到像AngularJS这样的现代JavaScript框架,然后可以使用ng-reeat在一行中完成。
这将达到你的目的,并使你作为一个开发商赚更多的钱。
如果要重复此操作,请使用模板系统。像{{胡子}}或Handlebars.js.
如果没有,你可以这样做。
<ul>
<li class="hidden"></li>
</ul>
在Javascript 中
$('ul .hidden').clone().removeClass('hidden').appendTo('ul');
还有CSS,当然还有
.hidden { display:none }
试试这个。。。
function getLi(data,ID) {
return $('<li id = "'+ ID + '">' + data + '</li>');
}
它返回李的javascript objest,您可以将它附加到任何需要的地方。
您需要的是使用jquery模板,在下面的链接中,您可以使用我正在使用的好模板。您创建您的模板并为您准备JASON数据对象。之后,每件事都将在一个函数调用中准备好,更多详细信息请参阅此链接。
jquery.tmpl
希望这对你和将来来这里的人都有帮助。。
- HTML标记在脚本标记中工作
- 导入jQuery脚本获胜'我不处理html文件
- W3验证器->使用<脚本类型=“;text/javascript”>在html的正文中
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- "未捕获类型错误/丢弃意外“;因为一句台词而出现?(HTML w/<脚本>)
- 在HTML中,如果第二次加载相同的脚本文件,它还会被加载吗
- 在包含脚本的地方注入HTML
- 谷歌应用程序脚本html服务和加载谷歌地图javascript api V3
- Chrome扩展程序/根据弹出窗口中的选择执行不同的内容脚本.html
- 从谷歌应用脚本 html 模板呈现 html
- 将 html 数据与内联脚本 html 数据追加并打印
- 谷歌应用程序脚本HTML服务-Can't get Keypress to work
- Google表单脚本&HTML不能执行被调用的脚本
- 表日期列格式化与谷歌应用程序脚本html服务
- 谷歌脚本不显示jQuery布局时,上传到谷歌脚本HTML
- Google apps脚本HTML选择从电子表格数据加载的选项
- 应用程序脚本HTML到PDF
- 谷歌应用程序脚本HTML应用程序中的谷歌图表