gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 06:21:31 25 4
gpt4 key购买 nike

我想根据窗口名称将 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com