大家觉得js这样取代拼接html字符串,直观不?

大东哥 发布于 2011/09/23 16:06
阅读 2K+
收藏 1
不想还好,一想,越来越要解决html字符串拼接问题了。现在不解决这问题,让我放弃改用原来的拼字符串方式,好比有烟没打火机,有酒没开瓶器,大便没坑一样,能忍,但很难受。
json的方式,只能放弃了。详见: http://www.oschina.net/question/1579_28194
大家看看这样如何:
[
		
	div([
		div({ attr : { id : 'div1' , cls : 'nav' , style : '' } }),
		 	     form(
		 	    	  label({ t : '选择' }),
		 	    	  select([
		 	    		opt(),opt(),opt()
		 	          ])
		 	          ),
		 	]),
		 		
		 	div(),
                        div()
		 
];


加载中
0
redraiment
redraiment

如果你能很潇洒的不支持 IE,或者是写服务器端 JS,可以考虑用 E4X了:

var node =
    <div>
      <div id="div1" class="nav"></div>
      <form>
        <label>选择</label>
        <select>
          <option>1</option>
          <option>2</option>
          <option>3</option>
        </select>
      </form>
    </div>;
alert(node.toXMLString());

大东哥
大东哥
@redraiment : 翻译得很棒,老IE真是难受。
redraiment
redraiment
@redraiment : 哦,错了。NodeJS 支不支持不晓得,是 Rhino 支持。
redraiment
redraiment
@大东哥 : 我只试过 Firefox,Chrome和NodeJS,它们都支持。IE 8 不支持。 我之前翻译过几篇 Mozilla 的 E4X 教程:http://blog.csdn.net/redraiment/article/category/833243
大东哥
大东哥
是不是除了IE,其他浏览器都支持?是js几的特性啊?
大东哥
大东哥
这个好!!我去研究研究。
0
子木007
子木007
孤陋寡闻了,  第一次知道  E4X ,  看上去确实很不错
0
大东哥
大东哥
这问题的解决过程,调出了蛮多好东东啊。
0
Genus
Genus
map + array 不是解决起来不错的吗?虽然代码复杂了,但是也没复杂到哪去。。
0
yak
yak

http://beebole.com/pure/demos/

可以参考下这个,不过我觉得这个太复杂了,而且这个只是简单的显示,实际项目中远不是这么简单,比如表情,json数据是1,2,3,4 显示要替换成图片标签,这种写个简单的隔行换色都一大坨代码,更不要说复杂点的事件绑定了

0
yak
yak
html已经是很好的结构描述,用js来搞页面结构吃力不讨好,就象extjs一样
0
w
weijh

["div",{id:"imid",class:"myclass"},

    "@imtext",

    ["span",{style:"color:red"},"@word1",

        ["br/"]

    ],

    ["b","@bold"],

    ["b","@boldText2"]

]


如此结构应该会更好

返回顶部
顶部