4

動的に生成されるリンクがあり、それらすべてにターゲットを設定する必要があります。どうすればJavaScriptでこれを行うことができますか。jQueryを使用して動作するように見えるものを見つけました..

$("a").attr('target', '_top');

しかし、これにはライブラリを使用したくありません。数行のjavaScriptで処理できると思います... 書き方がわかりません。

私が何をしているのかをさらに明確にするために、リンクは javaScript とレコメンデーション エンジンである ATG で生成されており、これを iframe で呼び出しています。私が必要としているのは、DOM 内のすべてのリンクを定義する方法だけだと思います。特定の ID に関連付ける必要はありません。動的に生成された属性を動的に生成されたリンクに添付することは可能ですか? カスタム レンダリングを構築する可能性はありますが、そのルートは避けたいと考えています。

4

3 に答える 3

3

このようなもの

var anchorElements = document.getElementsByTagName("a");

for (var i = 0; i < anchorElements.length; i ++)
{
  anchorElements[i].setAttribute("target", "_top");
}
于 2010-05-14T03:28:06.500 に答える
2

私は通常、jQuery の男ですが、そのような小さなコードはライブラリに依存してはならないということは正しいです。jQuery を使用しない JavaScript には少し慣れていないかもしれませんが、これでうまくいくはずです...

var anchors = document.getElementById('myDiv').getElementsByTagName('a');

for (var i = 0; i < anchors.length; i++) {
    anchors[i].setAttribute('target', '_top');
}

この例では、使用した jQuery セレクターが選択対象であると想定しています。属性で特定の要素をターゲットにしたくない場合はid、単にメソッドをドロップしgetElementById()ます。

于 2010-05-14T03:25:38.477 に答える
1

さて、私は解決策を見つけました。申し訳ありませんが、質問する前にここでもっと検索する必要がありました。

親ウィンドウで開かれる iframe からのリンクを強制する方法

私にとってうまくいったのは、オブジェクトを使用することでした

<base target="_top" />
于 2010-05-14T03:57:30.280 に答える