首页 > 代码库 > HTML元素的专用传参数据属性

HTML元素的专用传参数据属性

 把参数直接放到事件定义里面,类似下面这样,也是可以,但是这样不够Nice.

<a href="javascript:void(0)" onclick="clickhandler(arg1)">点击</a> 

   上面这种方法有着这样那样的限制,比如在服务器端生成这段代码时,arg1的生成又要用‘单引号包裹,如果在客户端视图模板中生成上面这个代码,有可能完全失败,比如在目前的AngualrJS产品版本中。于是乎有了下面这样的做法:

<a href="javascript:void(0)" text="arg1" onclick="clickhandler(event)">点击</a>  

          上面这种方法在事件处理函数中的到event的target,再读取属性就可以得到text属性值了,我也记不清楚我从那本书看到的text传参这种做法,同样起相同作用的属性好像也没几个。这种做法有两个问题:1、参数多的情况下,属性不够用;2、text这样的原生属性命名有点糊里糊涂。今天碰到多参传值的情况下,看了一下JS权威指南后面的附录参考,发现在HTML5中专门开辟了这么一个属性集叫data-set,于是乎像下面这样定义:

 

<a href="javascript:void(0)" data-argname="arg1" onclick="clickhandler(event)">点击</a>

        当然还可以定义更多的参数,这个HTML5属性不算高精尖属性,加个HTML5的那个兼容脚本,应该就可以在旧版浏览器上用。

 

HTML元素的专用传参数据属性