- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jqueryのvalue習得によるhtml書き換え)
jQueryで要素を書き換える方法
このQ&Aのポイント
- jQueryを使用して、指定した要素と同じvalue属性を持つ要素を書き換えたいです。
- 質問者は、value属性が4である要素をクリックした場合、その要素だけでなく、他のvalue属性が4である要素も書き換えたいと考えています。
- 質問者はvalueの値を取得することはできたが、その後の動作がわからないと述べています。背景色を同じvalue属性を持つ要素に適用しようとしています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず動く様に修正 $(function(){ $(".counter").click(function(){ // var を使うこと。グローバル領域汚染防止のため var siteID = $(this).attr("value"); // JavaScriptに埋め込み変数構文はないので文字列連結 $(".counter[value=" + siteID + "]").css("background-color","#000"); // 動作確認のためにリンク動作を抑制する false を返す return false; }); });
その他の回答 (1)
- warpspace
- ベストアンサー率56% (83/147)
回答No.1
siteIDはセレクタに使用できないので、if文で判定する必要がありますから次のようになります。 $(function(){ $(".counter").click(function () { var siteID =$(this).attr("value"); $(".counter").each(function() { if ($(this).attr("value")==siteID) { $(this).css("background-color","#000"); } }); }); });
質問者
お礼
有難うございます。 こちらはループを回してクリックしたvalueの値を持つ要素の背景色を変化させられたんですね。 上記の方のスクリプトもそうでしたが、href属性の中にURLを入力し、実際に動作させて見たのですが、 最初に開いたウィンドウがそのまま切り替わる状態になってしまいました。
お礼
有難うございます。完全に動くようになりました。 これはvalue="+siteID+"の外側にもダブルクォーテーションがあるのは問題無いのでしょうか? あと、上記のコードを記載するとウィンドウが新しく開かなくなってしまいました。 一つのウィンドウが切り替わる形式になっておりますが、こちらは修正できるのでしょうか? もし余力が御座いましたら教えて頂ければ幸いにございます。