-
26-09-2019 - |
题
我想通过我的页面上的链接进行排序,使他们中的一些开成一个新的窗口中,根据自己的URL。这是我的代码。它似乎并不奏效。你可以看到为什么?
function MakeMenuLinksOpenInNewWindow() {
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (links[i].href == "http://testtesttest.org/")
links[i].target = "_blank";
}
}
MakeMenuLinksOpenInNewWindow();
解决方案
使用的jquery.js。它会让你的生活变得更轻松:
$("a[href='http://testtesttest.org/']").attr("target", "_blank");
其他提示
确认,当你调用这个函数的DOM已加载:
window.onload = MakeMenuLinksOpenInNewWindow;
或:
<body onload="MakeMenuLinksOpenInNewWindow();">
您可能不应该设置这个JavaScript。而是使用HTML
但是,如果你一定要...
function MakeMenuLinksOpenInNewWindow() {
var links = document.getElementsByTagName("a");
for (var i = 0, l = links.length; i < l; i++) {
if (links[i].href === "http://www.example.com/")
links[i].target = "_blank";
}
}
window.onload = MakeMenuLinksOpenInNewWindow;
您的JavaScript看起来很好。假设你有你的链接内容不存在问题,你尝试修改之前,你需要推迟在其他帖子提到的运行你的方法。我的优选的方法是移动所述脚本内容页面的末尾。
因为它看起来像您使用外部JS文件,页面想
...
<a href="http://testtesttest.org/" >whatever</a>
...
<script src="myscriptfile.js"></script>
</body>
</html>
如果你仍然有问题,你必须张贴一个更完整的例子。
编辑:另一点。如果你仍然有问题,请确保您在href
财产期待的URL没有被改写。例如,IE将钉的后/
到一个。com URL的末尾,如果你不提供它,这将导致您的比较失败。
不隶属于 StackOverflow