分享

script type="text/template"

 quasiceo 2014-12-12

<script type="text/template">是干什么的,为什么要把html写在js中? 这是什么编程语言风格,都能这样用吗?

这段代码是我在别人的网站上看到的,很奇怪,谁能解释一下,为什么要这么写,这样写有什么好处。

<script id="login_box_tpl" type="text/template">
xxxx/css/$1.0.67/login.css" rel="stylesheet"/>
<!--[if lte IE 6]>
/css/$1.0.67/ie6.css" rel="stylesheet"/>
<![endif]-->

<form class="auth_mk" action="/user/doLogin.action" method="post">
<input type="hidden" name="redirectUrl" value="/"/>
<ul>
<li><label for="nick">邮箱</label><input id="nick" type="text" name="email" value=""/>
</li>
<li><label for="password">密码</label><input id="password" type="password" name="password"/></li>
<li class="def"><label><input name="autoLogin" type="checkbox" value="1" checked="checked"/> 下次自动登录</label>
</li>
<li>
<button type="submit">登录</button>… 显示全部
按票数排序 按时间排序

2 个回答

花漫一直写不好自我介绍

知乎用户、Nicholas刘项 等人赞同
这一段存放了一个模板。
在js里面,经常需要使用js往页面中插入html内容。比如这样:
var number = 123;
$('#d').append('<div class="t">'+number+'</div>')
如果html很短还好说,但是遇到描述里面的这么大段,直接用字符串存储会很困难,因为不光要处理单引号,还需要很多「+」号把字符串一个个连接起来,十分的不方便。
给<script> 设置type="text/template",标签里面的内容不会被执行,也不会显示在页面上,但是可以在另一个script里面通过获取,然后再通过 相关的模板工具进行处理,插入到页面中。这样就把大段的HTML操作从js里面分离开了。

知乎用户,javascript,css,html,php

前端模板, 比连接字符串好用多了, 还可以使用循环\判断等语句, 减少工作量

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约