多个锚链接引用可在JavaScript中使用的单个值的最佳方式

多个锚链接引用可在JavaScript中使用的单个值的最佳方式,javascript,mootools,metadata,Javascript,Mootools,Metadata,我在一个页面上有任意数量的锚链接,需要在单击时执行相同的JavaScript代码块,并且该代码需要与一个值关联。每一页上都有几个。我通常使用隐藏的输入以一对一的关系存储值,但将页面中的多个链接与值关联的最佳方式是什么 例如,设想一组按ID引用产品的链接,它们都显示产品的相同动态层。现在可能会有一系列产品的多组链接。我怎么画那些联想?我正在使用Mootools并按类绑定事件,因此我不希望使用一堆传递参数的内联事件函数调用。是否要在html代码中设置值?否则,您可以动态地将值添加到dom节点本身 如

我在一个页面上有任意数量的锚链接,需要在单击时执行相同的JavaScript代码块,并且该代码需要与一个值关联。每一页上都有几个。我通常使用隐藏的输入以一对一的关系存储值,但将页面中的多个链接与值关联的最佳方式是什么


例如,设想一组按ID引用产品的链接,它们都显示产品的相同动态层。现在可能会有一系列产品的多组链接。我怎么画那些联想?我正在使用Mootools并按类绑定事件,因此我不希望使用一堆传递参数的内联事件函数调用。

是否要在html代码中设置值?否则,您可以动态地将值添加到dom节点本身


如果要在html中设置它们,如果不关心标准遵从性,请使用自定义属性。如果您愿意,请将这些值编码为类名,或者使用
lang
-属性,并在数据前面加上“x-”,这样您就可以遵守RFC1766。

如果您已经在使用Mootools,那么使用元素的

这里有一种获取productID的方法(假设您可以控制URL格式):


//在你的js中(上面)
var pid=el.get('href').split('#')[1]。split(':')[1];
el.store('productID',pid);

我以前见过这种方法,但是类名中的元数据不需要使用自定义名称空间吗?我使用了这种方法的一种变体,但这是一种非常好的方法。
window.addEvent('domready', function() {
  $$('a.classname').each(function(el) {
    el.store('productID', /*get this however you want*/);

    el.addEvent('click', function(e) {
      var productID = el.retrieve('productID');
    }
  }
}
<a href='ViewProduct.php?ProductID=7#pid:7'>link</a>

//in your js (above)
var pid = el.get('href').split('#')[1].split(':')[1];
el.store('productID', pid);