質問

私は自分のページ上のリンクを分類し、それらのいくつかは、その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の最後に末尾/タックされます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top