我有一个ID为"link"的链接,我使用下面的javascript在modalbox中打开该链接:
#In my template I have:
<a href="some/path" id="link">link</a>
#Then in my application.js file I have:
document.observe('dom:loaded', function() {
$('link').observe('click', function(event) {
event.stop();
Modalbox.show(this.href,{title: 'some title', width: 500});
});
})
Run Code Online (Sandbox Code Playgroud)
因为id必须是唯一的,所以这个javascript只适用于每页一个元素,所以我用它来观察我的登录链接,它对我很有帮助.到现在.
我想使用相同的JavaScript来观察具有类名而不是id的多个链接,如下所示:
<a href="link/to/some/stuff" class="link">link 1</a>
<a href="link/to/some/other/stuff" class="link">link 2</a>
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我无法在模态框中打开任何链接.如果我将类更改为每个链接的id,那么我可以获取列表中的第一个链接以在模态框中打开.
我尝试使用'$$'符号在我的javascript中构建一个链接数组(如下所示),但如果我这样做,那么没有一个链接正确打开
#document.observe method removed for display purposes
$$('link').observe('click', function(event) {
event.stop();
Modalbox.show(this.href,{title: 'some title', width: 500} );
});
Run Code Online (Sandbox Code Playgroud)
我的javascript技能显然很糟糕.
有谁知道如何解决这个问题?
您的代码只需要两次更改
$$('.link').each(function() { observe('click', function(event) {
event.stop();
Modalbox.show(this.href,{title: 'some title', width: 500} );
}}));
Run Code Online (Sandbox Code Playgroud)
注意'.link',表示它是一个类名,然后是每个函数将它应用于每个结果.括号可能需要调整,我现在抱着一个婴儿