javascript-如何在不使用AJAX或“超级字符串”的情况下将大量HTML插入DOM
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何在不使用AJAX或“超级字符串”的情况下将大量HTML插入DOM,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2449字,纯文字阅读大概需要4分钟。
内容图文
现在,当我单击页面上的一个按钮时,我希望一个div填充很多HTML,这很值得.我现在使用的策略现在实现了.html()JQuery方法的用法,该方法传入了这个庞然大物的字符串:
'<div class="container-fluid">' +
'<div class="row"> </div>' +
'<div class="row"> </div>' +
'<div class="row"> </div>' +
'<div class="col-md-3 col-md-offset-1 col-sm-6">' +
'<select id="measures" class="form-control">' +
'<option>Select a Measure</option>' +
'</select>' +
'</div>' +
'<div class="col-md-3 col-sm-6">' +
'<select id="budgets" class="form-control">' +
'</select>' +
'</div>' +
'<div class="">' +
'<button class="col-md-1 text-center col-sm-2 btn btn-primary" id="createSMSButton">Create Summary</button>' +
'</div>' +
'<div class="">' +
'<button class="col-md-2 col-md-offset-1 col-sm-3 btn btn-primary" id="createBudgetReportButton">Create Budget Report</button>' +
'</div>' +
'<div class="row"> </div>' +
'<div class="row"> </div>' +
'<div class="row"> </div>' +
'</div>';
我真的不喜欢这个字符串容易出错的事实.我也不太喜欢从服务器请求新的.cshtml文件的想法,这会占用服务器/网络时间,并迫使用户等待AJAX??请求发生.有没有一种方法可以将所有这些HTML添加到div中,而无需使用这种细腻和/或慢速AJAX请求的字符串?
解决方法:
由于您不想使用Ajax(这将允许您将模板包含在单独的文件中),因此您可以将html存储在具有type =“ text / html”的标记中,并通过访问脚本元素.
<script id="html" type="text/html">
<div class="container-fluid">
<div class="row"> </div>
<div class="row"> </div>
<div class="row"> </div>
<div class="col-md-3 col-md-offset-1 col-sm-6">
<select id="measures" class="form-control">
<option>Select a Measure</option>
</select>
</div>
<div class="col-md-3 col-sm-6">
<select id="budgets" class="form-control">
</select>
</div>
<div class="">
<button class="col-md-1 text-center col-sm-2 btn btn-primary" id="createSMSButton">Create Summary</button>
</div>
<div class="">
<button class="col-md-2 col-md-offset-1 col-sm-3 btn btn-primary" id="createBudgetReportButton">Create Budget Report</button>
</div>
<div class="row"> </div>
<div class="row"> </div>
<div class="row"> </div>
</div>
</script>
var html = document.getElementById("html").innerHTML;
另一个选择是使用带有文本插件https://github.com/requirejs/text的RequireJs来加载模板作为模块的依赖项.
define(['text!/templates/content.html'], function() {
/*...*/
});
在幕后,RequireJ会发出Ajax请求来下载模板,但是我认为您应该考虑使用具有单独模板文件的应用程序可维护性的好处.
另外,您可以使用RequireJs优化器工具将所有依赖项捆绑在一个文件中,并避免额外的调用.
内容总结
以上是互联网集市为您收集整理的javascript-如何在不使用AJAX或“超级字符串”的情况下将大量HTML插入DOM全部内容,希望文章能够帮你解决javascript-如何在不使用AJAX或“超级字符串”的情况下将大量HTML插入DOM所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。