`
ytrgmj
  • 浏览: 21819 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

顺手写了个小轮子

阅读更多
[size=large]周末在家里写程序,要用js将json格式的数据{name:'游戏1',url:'http://www.zaobao.com',imgUrl:'img/confirm.gif'},转化成以下html

<li>
	<a href="http://www.zaobao.com">
		<img src="img/confirm.gif">
		<span>游戏1</span>
	</a>
</li>

用dom实现
var li = document.createElement("li")
var a = document.createElement("a");
a.href = pojo.url;
var img = document.createElement("img");
img.src = pojo.imgUrl;
var span = document.createElement("span");
span.innerHTML = pojo.name;
a.appendChild(img);
a.appendChild(span);
li.appendChild(a);
return li;

尼玛啊,才4个标签,代码居然需要11行。是可忍,叔叔也不可忍。用拼凑html的方法,虽然代码简单一点,但是html复杂了,也很难维护。
想写个类简化一下。思路是搞个html dsl(面向领域的语言)出来。于是写了个tag类,刚才那段代码就变成了
var li = new Tag("li");  //构建一个li标签
var a = li.a().attr("href",pojo.url); //在li中方一个a标签 ,href是pojo的url
a.img().attr("src",pojo.imgUrl); //在a标签中放img
a.span(pojo.name); //在a标签中放span
return li.toDom(); //返回li标签的dom对象

定义一个div就可以这样写
var tag = new Tag("div");
tag.html("google");
tag.style("color","red")
document.getElementById("d1").innerHTML = tag.toHtml();


定义ul下有3个li
var ul = new Tag("ul");
ul.li('aaa');
ul.li(2).style('color','red');
ul.li(3);
document.getElementById("d2").innerHTML = ul.toHtml();

document.getElementById("d3").appendChild(ul.toDom());


定义一个5行的table变成了
var table = new Tag("table");
for(var i=1;i<5;i++){
	var tr = table.tr();
	tr._td(1+i)
		._td(2+i+"a")
		._td(3+i)
		._td(4+i)
		._td(5+i);
}
document.getElementById("d6").innerHTML = table.toHtml();
document.getElementById("d7").appendChild(table.toDom());

写完以后,自我感觉十分良好,比从头构建dom或者拼html强多了。唯一不知道的是这个小轮子前人有没有写过?
代码见附件


[/size]
分享到:
评论
1 楼 习惯在马桶上思考 2012-05-14  

相关推荐

    SolidWorks小轮子

    总的来说,SolidWorks在设计这款小轮子时,不仅涉及到几何形状的构建,还涵盖了材料选择、轴承设计以及力学性能分析等多个方面。设计师通过精确的计算和模拟,确保轮子在实际应用中既耐用又高效。这样的设计过程充分...

    北师大版小学数学二年级数学上册《需要几个轮子》教学反思.docx

    这篇文档是关于北师大版小学数学二年级上册《需要几个轮子》课程的教学反思。这节课的主要目标是引导学生理解和应用乘法,特别是3的乘法口诀。教学过程中,教师通过创设小动物郊游的情境,激发学生兴趣,让学生自然...

    轮子哥安卓开发框架,非常好用

    轮子哥安卓开发框架,一个非常优秀的开源框架。 各项界面,对话框,全面的内存优化、布局优化、代码优化、瘦身优化。 项目中常见的代码进行了封装,或是封装到基类中、或是封装到工具类中、或者封装到框架中,不...

    需要几个轮子_《需要几个轮子》练习四.rar

    这个压缩包文件"需要几个轮子_《需要几个轮子》练习四.rar"显然包含了书中的一个练习部分,可能是为了帮助读者加深对书本内容的理解和应用。主要的文件是一个名为"需要几个轮子_《需要几个轮子》练习四.pdf"的PDF...

    了不起的轮子小班科学详细内容PPT课件.pptx

    总结来说,这个“了不起的轮子”小班科学课件通过互动式的教学方式,寓教于乐,不仅让孩子们在认知轮子的同时,也增强了他们的观察力、想象力和安全意识,是一份非常实用的专业课件,能够有效地帮助孩子们开启对科学...

    Django是否存在重复制造轮子

    很多时候,都听人家在说不要重复制造轮子,要站在巨人的肩膀上等....不过让我感到有点困惑的是,怎么样...那是不是说当我们在写一个程序的时候就不应该自己设计,而是首先到网上去找,只有找不到的情况下才自己去写呢?

    幼儿园小班科学活动教案《轮子工程师》含反思.docx

    2. 观察并思考圆形轮子的作用,通过对比不同数量的轮子,了解其对应的不同交通工具,如自行车(两个轮子)、汽车(四个轮子)等。 3. 比较圆形与其他形状,如三角形和正方形,讨论为何它们不适合做轮子,进一步强化...

    省力的轮子PPT课件.pptx

    其次,轮子的作用体现在多个方面。在运输领域,轮子被广泛应用于车辆,如汽车、自行车、手推车等,使得人们能够轻松搬运大量物品。在机械设备中,如起重机、挖掘机等,轮子或履带使其能在工地上灵活移动。在日常生活...

    了不起的轮子PPT课件.pptx

    《了不起的轮子》是一份专业的课件,主要探讨了轮子在日常生活中的重要作用以及其...通过深入探讨轮子的科学原理、历史演变及其在各领域的应用,我们可以更好地理解和欣赏这个“了不起的轮子”带给我们的便利和创新。

    Python轮子

    Python轮子 非常好用Python轮子 非常好用 Python轮子 非常好用Python轮子 非常好用Python轮子 非常好用Python轮子 非常好用Python轮子 非常好用Python轮子 非常好用

    香喷喷的轮子.ppt

    《香喷喷的轮子》是一篇非常适合中班儿童的语言活动教材...总的来说,《香喷喷的轮子》这个语言活动是一个寓教于乐的好教材,它结合了故事、想象、词汇学习和情感教育,能够全面促进中班儿童的语言发展和社交情感技能。

    有多少个轮子.docx

    "教学设计详案:有多少个轮子" 本教学设计详案的目的是为了让二年级学生掌握 3 的乘法口诀,培养学生合作学习意识,体验数学与日常生活的关系。通过本教学设计,学生将学会用 3 的乘法口诀进行计算、解决实际问题,...

    ios-轮子动画效果.zip

    本示例中的"ios-轮子动画效果.zip"文件,显然提供了使用CAKeyFrameAnimation来创建一个轮子转动效果的实例。CAKeyFrameAnimation是Core Animation框架的一部分,它允许开发者创建复杂的、基于关键帧的动画,这些动画...

    中班科学轮子PPT学习教案.pptx

    【中班科学轮子PPT学习教案】是一个针对幼儿教育设计的教学材料,旨在帮助孩子们了解轮子的历史、发展以及在日常生活中的应用。本教案通过图文并茂的方式,引导孩子们探索和理解轮子的重要性和演变过程。 轮子是...

    需要几个轮子.ppt

    例如,小兔子有4个家,每个家需要3个轮子,那么总共需要4乘以3等于12个轮子。这样的情境设计使学习更具趣味性和实用性。 总结来说,这个教学材料主要教授的是2到5的乘法口诀及其应用,旨在帮助小学二年级的学生建立...

    幼儿园中班科学教案:有趣的轮子.doc

    这个教案的核心知识点主要围绕着儿童早期科学教育,旨在帮助幼儿了解轮子的基本特性和作用。首先,通过实际操作和探索,孩子们能够发现轮子是圆形的,这样的设计使得物体可以更容易滚动。轮子不仅限于特定材质,可以...

    自己实现轮子优秀实践

    下面将详细讨论这个主题,包括为什么要自己实现轮子,以及在Java中可以尝试实现的一些关键知识点。 首先,自己实现轮子有助于巩固基础。当你亲自编写一个简单的数据结构(如链表、栈或队列)或算法(如排序、搜索)...

    需要几个轮子_《需要几个轮子》练习二.pdf

    【标题】"需要几个轮子_《需要几个轮子》练习二.pdf" 是一份与教育相关的练习材料,可能属于小学数学或基础算术的学习资源。从描述和标签来看,这份文件着重于教育领域,可能是教师为学生提供的课后作业或者复习资料...

    STL仿造轮子

    在这个“STL仿造轮子”的项目中,我们旨在通过模仿SGI-STL(斯坦福大学图形小组的STL实现)来深入理解和学习C++以及数据结构的基本原理。 首先,STL的核心组件包括容器、迭代器、算法和函数对象。容器是STL的基础,...

    小班语言轮子歌.pptx

    很抱歉,但根据提供的信息,“小班语言轮子歌.pptx”似乎是一个教育或幼儿教学资源,内容可能包括儿童歌曲、诗歌或者故事,用于帮助小班学生学习语言和认知发展。由于没有提供具体的页面内容,无法详细阐述其中的...

Global site tag (gtag.js) - Google Analytics