A JavaScript Fancier

伟大的javascript技术研究中...

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  304 随笔 :: 0 文章 :: 479 评论 :: 0 Trackbacks


今日看了下Wicket框架的实现思想,发现其使用了命名空间的方式定义一些特定属性,这种方法可以实现无污染html结构。于是自己便有了name来实现html元素的组件化,而不使用自定义标记,从而可以实现完全合法的xhtml标记。对name的命名使用一种命名空间的思想,如name="myframe:tree",但这里我突然产生一个小疑问?name可以使用冒号定义吗?做了简单的测试,无论是name或id或者其他的属性,其值基本都是可以使用任何可以在屏幕输出的字符的,如存数字、空格、各种特殊字符、汉字等,无论怎样定义都能通过js对其处理,如document.getElementById、document.getElementsByName等。html的属性值的定义是不受限制的!

利用这个特性,可以很好的实现一种类似命名空间方式的name定义。而且不易造成命名冲突,其实除了使用冒号我们也可以使用类似程序中的点号方式命名,如name="com.topsoft.comp.grid"等,虽然命名有点长,但也有很多优点,这个大家都能明白。

以后我们在设计html组件的实现可以考虑这种做法,尽可能不使用自定义标记,尽可能用标准的语义化的html标记。

(PS:尽管id和name的定义可以不受限制,但在使用中也应慎重考虑,不要设一些莫名其妙的值,这都是需要付出一定代价的,呵呵~)
posted on 2008-05-29 13:57 Yemoo'S JS Blog 阅读(883) 评论(1)  编辑 收藏 引用 所属分类: HTML/XHTML/CSS

评论

# re: 通过使用命名空间方式定义name实现html组件化 2008-12-09 14:14 tonny
html组件如何设计?  回复  更多评论
  

只有注册用户登录后才能发表评论。