jquery tmpl遍历

jquery tmpl遍历最近,发现大家喜欢用模板渲染一些DOM,而且常常用模板嵌套一些逻辑,看了大家用jquerytmpl较多,遇到的问题大同小异。为了避免问题重复发生,现在就个人用过的一些常用功能,作下具体介绍,主要针对遍历。其它的大家可自行看看网上教程,推荐一个:jqueryTmpl,希望对大家有所帮助1.普通数组对象的遍历,关键词{{eachArray}}、$value、$index数据格式:varperso

大家好,又见面了,我是你们的朋友全栈君。

最近,发现大家喜欢用模板渲染一些DOM,而且常常用模板嵌套一些逻辑,看了大家用jquery tmpl较多,遇到的问题大同小异。为了避免问题重复发生,现在就个人用过的一些常用功能,作下具体介绍,主要针对遍历。其它的大家可自行看看网上教程,推荐一个:jquery Tmpl,希望对大家有所帮助

1.普通数组对象的遍历,关键词{
{each Array}}
$value$index

数据格式:

var person = [
	{
		'name':'Tom',
		'age':18,
		'location':[
			{'pro':'安徽省'},
			{'pro':'六安市'},
			{'pro':'舒城县'}
		]
	},
  {
	  'name':'Jack',
	  'age':19, 
	  'location':[ 
			{'pro':'安徽省'},
			{'pro':'合肥市'}, 
		]
	}
];

模板定义:(注意scritpt标签type指定

<script id="myTemp" type="text/x-jquery-tmpl">
  <li class="li">
    <span class="a" title='${name}'>${name}</span>
    <span class="b" title='${age}'>{
  
  {= name}}</span>
    <span class="c" title='location'>
      {
  
  {each location}}
        ${$index+1}:${$value.pro}
      {
  
  {/each}}
    </span>
  </li>
</script>

html:

<ul id="ul_temp"></ul>

调用:(注意两个选择器代表什么)

$("#myTemp").tmpl(person).appendTo("#ul_temp");

打印效果:

Tom Tom 1:安徽省 2:六安市 3:舒城县
Jack Jack 1:安徽省 2:合肥市 3:蜀山区

上例中,{
{each}}
表示表里一个数组对象,而不是对象。$index表示当前遍历的索引值,$value表示当前遍历与索引对应的值(注意:是对应值,说明可能是个对象)。这里容易出错打印成[Object Object],原因你把对象的引用打印出来了

2.对象的属性的遍历

将上例数据源更改如下:

var person1 = {
  'name':'Tomson',
  'relation':'son',
  'family':[{
      'name':'Tom',
      'relation':'father'
    },{
      'name':'Monica',
      'relation':'mother'
    }]
}

模板更改如下:

<script id="myTemp" type="text/x-jquery-tmpl">
<span class="a" title='${name}'>${name}</span>
<span class="b" title='{
  
  { =relation}}'>
  <ul>
    {
  
  {each(i,data) family}}
      <li class="li">
        ${data.relation}:${data.name}
      </li>
    {
  
  {/each}}
  </ul>
</span>
</script>

打印效果:

Tomson
father:Tom
mother:Monica

{
{each(i,data) Array}}
类似jquery eachi表示索引,data表索引对象的当前对象。通过对象.访问遍历属性,中间嵌入{
{if}}可实现逻辑操作

将上处模板更改如下:

   {
  
  {each(i) family}}
    <li class="li">
      ${family[i].relation}:${family[i].name}
    </li>
  {
  
  {/each}}

可获取指定数组元素的值,当然也可以强制指定访问某个值。

就这么多了,另外常用还有${data}获取数据源值等,有问题的可以私下交流

❤️❤️❤️❤️❤️❤️❤️❤️❤️ 如果对您有用,一分一块都是爱 ❤️❤️❤️❤️❤️❤️❤️❤️❤️

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148365.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • .bat文件打开方式[通俗易懂]

    .bat文件打开方式[通俗易懂]有的时候不小心将后缀名.bat文件在选择打开方式时误勾选了用记事本或者其他文本编辑器打开,结果电脑上的*.bat文件的打开方式都变成了记事本或者其他文本编辑器。本方法就是恢复.bat文件的默认打开方式。1、同时按住windows键和R键,在出来的框中输入regedit,打开注册表编辑器。2、找到:计算机\HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\currentversion\Explorer\FileExts.bat删除除了openwithlist

    2022年7月15日
    21
  • Spring AOP 实现监控方法执行的时间(统计service中方法执行的时间)

    项目中有时候会遇到统计方法执行的时间,来对项目进行优化!下面是我自己在工作中遇到的问题,和我自己的解决方法。要统计出项目中方法执行时间大于1秒的那些方法!我们的项目开发使用的是SpringMVC 那么首先想到使用 Aop Aspet 切面统计,那样子更加方便也高效。1:打开切面!因为项目使用的SpringMVC,项目中的配置文件就配置的 &lt;aop:aspectj-autoproxy …

    2022年2月24日
    48
  • 博科FC光纤交换机zone配置[通俗易懂]

    博科FC光纤交换机zone配置[通俗易懂]zonecreate“a01”,“1,0;1,4”//创建zone,命名为01,将1.01.4这两个端口加入zonea01中zonecreate“a02”,“1,1;1,4”zonecreate“a03”,“1,2;1,4”zonecreate“a04”,“1,3;1,4”cfgcreate“abcd”,”a01;a02;a…

    2022年5月22日
    48
  • preference activity_preference

    preference activity_preference目录目录前言PreferenceActivitypreferences_scenario_1xmlPreferenceActivity演示PreferenceFragmentxml布局文件PreferenceFragmentPreferenceActivity管理Fragment适配前言转来转去又回到了Android,闲话少说,这里是参考Android原生的Setting

    2025年9月5日
    4
  • 有计算机二级python证书可以做什么工作_python有证书考吗

    有计算机二级python证书可以做什么工作_python有证书考吗python以什么方式处理文件?很多同学想考python的证书,想知道Python有哪些含金量高的证书?一、全国计算机等级考试Python程序语言设计;二、PythonInstitute资格认证初级PCEP;三、PythonInstitute资格认证初级PCEP中级PCAP;四、PythonInstitute资格认证初级PCEP高级PCPP;五、工信部Python技术应用工程。毕业前最好都拿到手的证书,用处大!专业证书对于就读不同大学专业的同学而言,需要考取跟自己专业挂钩的专业证书,不相关的.

    2025年9月26日
    4
  • 使用JDBC建立数据库连接的两种方式[通俗易懂]

    使用JDBC建立数据库连接的两种方式[通俗易懂]使用JDBC建立数据库连接的两种方式:1.在代码中使用DriverManager获得数据库连接。这种方式效率低,并且其性能、可靠性和稳定性随着用户访问量得增加逐渐下降。2.使用配置数据源的方式连接数据库,该方式其实质就是在上述方法的基础上增加了数据库连接池,这种方式效率高。数据源连接池的方式连接数据库与在代码中使用DriverManager获得数据库连接存在如下差别:1)数据源连接池的方

    2022年9月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号