使用母版页避免在Javascript中重复

时间:2012-08-17 21:30:57

标签: javascript jquery dry

假设我有多个网页,每个网页都包含一个iframe和一个链接。单击该链接可在新选项卡中打开相应页面上的iframe源。

$('#win1_docViewerNewTab').click(function () {
    window.open($('#win1_docViewer').attr('src'), '_blank');
});

此外,假设每个网页都在同一个DOM中(例如,使用jQuery标签)。每个链接都需要一个唯一的ID,但它们都使用相同的类。同样适用于iframe。

我的问题:有没有办法避免重复,只是在母版页上有一个javascript函数会导致所有三个页面上的链接在新标签中打开各自的iframe?

1 个答案:

答案 0 :(得分:2)

目前锚和iframe没有任何关系(除了他们的id名称之间的一些古怪的关系,不能依赖)。

您可以使用HTML5 data-*属性将锚点与iframe相关联:

<a class="anchor" id="win1_docViewerNewTab" data-iframeid="win1_docViewer" href="...">Click me</a>

然后在您的母版页中:

$('.anchor').click(function () {
    window.open($('#' + $(this).data('iframeid')).attr('src'), '_blank');
    return false;
});