0

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

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

此外,假设这些网页中的每一个都在同一个 DOM 中(例如,使用 jQuery 选项卡)。每个链接都需要一个唯一的 ID,但它们都使用相同的类。iframe 也一样。

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

4

1 回答 1

2

目前,锚点和 iframe 没有任何关系(除了它们的 id 名称之间存在一些无法依赖的古怪关系)。

您可以使用 HTML5data-*属性将锚点与 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;
});
于 2012-08-17T21:35:46.890 回答