0

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

例如,考虑一组按 ID 引用产品的链接,并且都显示该产品的相同动态层。现在可能有一组产品的多组链接。我如何绘制这些关联?我正在使用 Mootools 并按类绑定事件,所以我不想要一堆传递参数的内联事件函数调用。

4

2 回答 2

1

如果您已经在使用 Mootools,一个很好的方法是使用元素的数据存储

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');
    }
  }
}

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

<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);
于 2009-01-20T22:23:17.707 回答
0

你想在你的 html 代码中设置值吗?否则,您可以将值动态添加到 dom 节点本身。

如果您想在 html 中设置它们,如果您不关心标准合规性,请使用自定义属性。如果您确实关心,请将值编码为类名或使用lang-attribute 并在您的数据前加上“x-”,以便您保持符合 RFC 1766。

于 2009-01-20T22:18:52.847 回答