ここから本文です

javaで、addClassのように、rel要素を付与したいのですが、いい方法はありますでし...

luc********さん

2011/4/1219:04:08

javaで、addClassのように、rel要素を付与したいのですが、いい方法はありますでしょうか。
または、classとrelを置換できますでしょうか。

現在

<script type="text/javascript">
$(document).ready(function(){$('a[href$=".jpg"]').addClass("lightbox");
});
</script>

という記述で、
jpg向けのリンクに、

class="lightbox"

を付与しております。

これを、

rel="lightbox"

にしたいのですが、
なにか良い方法はありませんでしょうか。

置換の記述でうまくいかないかと思い、

<script type="text/javascript">
function delComment() {
var bodyHTML = document.body.innerHTML;
document.body.innerHTML = bodyHTML.replace(/class=""lightbox""/g,'rel=""lightbox""');
}
</script>

といれて、

class="lightbox"

rel="lightbox"

を置換しようと試みましたが、
うまくいきません。

初心者なもので、筋違いなことを行っているかと思いますが、
どうかよろしくお願いします。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
1,479
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

sii********さん

リクエストマッチ

2011/4/1220:00:55

JavaではなくてJavaScriptのお話ですよね。両者は全く異なる言語ですので。記述内容からjQueryを使われていると推測しますが、jQueryでは要素に特定の属性を付与する場合、attrメソッドを使います。

$("#hoge").attr("rel", "lightbox");

のように。なお、これはrel属性に何も設定されていない、あるいはrel属性の値を書き換えてもよいことを前提としています。

また、HTMLLinkElementやHTMLAnchorElement、つまりlink要素やa要素はrelというプロパティを持ち、このプロパティがrel属性と対応していますので、

document.getElementById("hoge").rel = "lightbox";

のように要素のプロパティを直接書き換えることもできます。ただし、動的なrel属性の書き換えによって、Lightboxが動作するかどうか、ということには疑問が残ります。

【参考】
attr(key,value) - jQuery 日本語リファレンス
http://semooh.jp/jquery/api/attributes/attr/key%2Cvalue/

質問した人からのコメント

2011/4/13 12:43:51

ありがとうございます。
大変参考になりました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる