javascript - 如何根据窗口名称切换 anchor 目标

标签 javascript anchor target setattribute

我想根据窗口名称将 Target=”Popup” 或 Target=”_self” 附加到 anchor 。

我有两个窗口:主题和弹出窗口。根据当前窗口,我想在两个窗口之一中显示 anchor 结果。

从主题窗口:

<a href=”A” target=”Topic”>
 Or
<a href=”B” target=”Popup”>

从弹出窗口
<a href=”A” target=”Topic”>
 Or
<a href=”B” target=”_self”>  //don’t show smaller Popup in bigger Popup window

IF 语句也不起作用。永远不会检测到 Else 条件?

HTML:
<p>OnClick link to <a href="MoreInformation.htm" onclick="isPopup();">More Information</a>.</p>

JavaScript:
<script type="text/javascript">
    var screenNam= window.name;
    document.getElementById("winName").innerHTML=screenNam;
</script>

<script type="text/javascript">
    var isPopup = function () {

    if (winName = "Popup") {
    var change = document.getElementsByTagName("a");
    change.setAttribute("target", "_self");
    }
    else if (winName = "topic") {
    var change = document.getElementsByTagName('a');
    change.setAttribute('target', '_popup');
    }
    }
</script>

最佳答案

您有正确的想法,但需要纠正一些错误才能使其发挥作用。

注意变化。比较两个值时使用“==”。 getElementsByTagName 返回一个集合。所以我们使用一个循环来修改每个 anchor ,例如,change[i]。并且 undefined variable winName 已被 screenNam 替换。

您可以进一步改进此代码,但我认为这将使您朝着正确的方向前进。

进一步阅读:Does it matter which equals operator I use in comparisons?

 var screenNam = window.name;

  document.getElementById("winName").innerHTML = screenNam;

  function isPopup() {

    var i, change = document.getElementsByTagName('a');

    for (i = 0; i < change.length; i++) {
      if (screenNam == "Popup") {
        change[i].setAttribute("target", "_self");
      } else if (screenNam == "topic") {
        change[i].setAttribute('target', '_popup');
      }
    }

  }

关于javascript - 如何根据窗口名称切换 anchor 目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35494541/

相关文章:

javascript - WebSocket onmessage 未触发

html - 绝对定位在 anchor 顶部的 HTML 元素不会阻止点击 anchor ?

C 生成文件,在 CCS 中, "The system cannot find the file specified"

makefile - 如何在自动工具中强制最终目标

javascript - Angular2 ngFor - 更改项目顺序而不重新创建它们

c# - 如何通过iframe获取另一个页面的asp隐藏字段值

javascript - 为什么我的循环在带有 Google Apps 脚本的 Google 表格中仅运行一次?

Javascript:没有 anchor (哈希)部分的 document.url

jquery点击 anchor 元素强制滚动到顶部?

ios - SCLAlertView 添加按钮问题