假设我有多个网页,每个网页都包含一个iframe和一个链接。单击该链接可在新选项卡中打开相应页面上的iframe源。
$('#win1_docViewerNewTab').click(function () {
window.open($('#win1_docViewer').attr('src'), '_blank');
});
此外,假设每个网页都在同一个DOM中(例如,使用jQuery标签)。每个链接都需要一个唯一的ID,但它们都使用相同的类。同样适用于iframe。
我的问题:有没有办法避免重复,只是在母版页上有一个javascript函数会导致所有三个页面上的链接在新标签中打开各自的iframe?
答案 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;
});