みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

rel属性を複数使用したい

XHTML 1.0 Strictなのでtarget="_blank"の代用で外部jsに

function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload=externalLinks;

として読み込みリンクに<a rel="external" ..........>としています。

その他にhighslide.jsを使用しているのですがrel属性が重複しているためか
highslide.jsの動作は正常なのですがtarget="_blank"の代用の効果がありません。
rel属性が重ならないようにしたいのですが解決策はありますでしょうか?

highslide.jsのURLです↓
http://vikjavev.no/highslide/

投稿日時 - 2007-07-07 17:52:16

QNo.3147325

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

別件でclass属性について
http://okwave.jp/qa3110635.html
class="external"と指定したタグに対して有効なスクリプトも
class="external attention" とすると動かなくなったりしますが、そういうことでしょうか。

もしそうなら、rel="external" と、1つだけ指定するか、
JavaScriptを、スペース区切りの指定に対応する様に自分で作り替えるか、
その制作者に作り直してもらう様にお願いするしかないと思います。

でなければTransitionalにしてtarget属性を使う、ということになるんじゃないでしょうか。

classだったら、HTMLの構造が変わってしまいますが
<div class="external"><div class="attention">~</div></div>と、無理矢理2つに分けることもできるんですけどねぇ。。。

投稿日時 - 2007-07-08 19:23:20

あなたにオススメの質問