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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片

    MFC 对话框Picture Control(图片控件)中静态和动态显示Bmp图片最近有同学问我如何实现 MFC 基于对话框在图片控件中加载图片 其实使用 MFC 显示图片的方法各种各样 但是还是有些同学不知道怎样显示 以前在 数字图像处理 课程中完成的软件都是基于单文档的程序 这里介绍两种在对话框 picthre 控件中显示 BMP 图片的最简单基础的方法 方法可能并不完美 高手忽略 但是提供一种能运行的方法 希望对刚接触这方面知识的同学有所帮助 可能你觉得

    2025年10月26日
    4
  • 雅可比矩阵和行列式_雅可比行列式的意义

    雅可比矩阵和行列式_雅可比行列式的意义1,Jacobianmatrixanddeterminant在向量微积分学中,雅可比矩阵是向量对应的函数(就是多变量函数,多个变量可以理解为一个向量,因此多变量函数就是向量函数)的一阶偏微分以一定方式排列形成的矩阵。如果这个矩阵为方阵,那么这个方阵的行列式叫雅可比行列式。2,雅可比矩阵数学定义假设函数f可以将一个n维向量n⃗\vec{n}n(n∈Rnn\inR^nn∈Rn)变成一个…

    2025年7月30日
    5
  • layui单选框未显示的问题

    layui单选框未显示的问题一开始还没导入idea的时候,单纯点击一个网页是有显示出来的,当我把这个带有单选框的网页放到idea的项目中去的时候,发现单选框没显示出来。1.首先在确认js.css等东西有导入,和之前的网页也没有什么区别2.网上查询之后,解释:有些时候,你的有些表单元素可能是动态插入的。这时form模块的自动化渲染是会对其失效的。虽然我们没有双向绑定机制(因为我们叫经典模块化框架,偷笑.gif)但…

    2022年5月7日
    59
  • ASP.NET 页面中的 ValidateRequest属性

    ASP.NET 页面中的 ValidateRequest属性ValidateRequest指示是否应发生请求验证。如果为true,请求验证将根据具有潜在危险的值的硬编码列表检查所有输入数据。如果出现匹配情况,将引发HttpRequestValidationException异常。默认值为true。该功能在计算机配置文件(Machine.config)中启用。可以在应用程序配置文件(Web.config)中或在页上将该属性设置为false来禁用该功能。注意:该功能有助于减少对简单页或ASP.NET应用程序进行跨站点脚本攻击的

    2025年7月17日
    6
  • break和continue的作用和区别是什么?

    break和continue的作用和区别是什么?break和continue的作用和区别是什么?一、break和continue的作用二、break和continue的区别三、案例分析一、break和continue的作用break和continue都是用来控制循环结构的,主要是停止循环。二、break和continue的区别1、break用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环。注意:(1)只能在循环体内和switch语句体内使用break;(2)不管是哪种循环,一旦在循环体中遇到break,系

    2022年6月12日
    42
  • 堆栈callstack打印

    堆栈callstack打印一、适用java1、Log.d(TAG,Log.getStackTraceString(newThrowable()));//在使用Log.d的场合2、newException(“testprintkstack”).printStackTrace();Note:还有其他方法,可以参考网络

    2025年7月26日
    5

发表回复

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

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