■ 最終的なゴール
Ajaxを用いてAPI(カラーミーショップ)で情報を取得し、APIで取得した情報と一致する値を持つp要素がある場合、p要素に特定のクラス名を付与したい。
■ そのためにやりたいこと
配列の中の情報と、情報と一致するidを持つp要素に特定のクラス名を付与したい。
■ 現在
上記を実行するために、jQueryで適当な配列を作り、idを付与したdiv要素を並べ、配列の中身とp要素のidが一致した場合、p要素にpinkクラスを付与するというコードを書いていたのですが、つまづきました。
配列に"100"と"300"があるため、下記2つのpタグにpinkクラスを付与したいです。
<p id="100" class="itembox">あああ</p> <p id="300" class="itembox">ううう</p>html
1<body> 2 <style type="text/css"> 3 .pink { 4 color:pink; 5 } 6 </style> 7 <p id="100" class="itembox">あああ</p> 8 <p id="200" class="itembox">いいい</p> 9 <p id="300" class="itembox">ううう</p> 10 <p id="400" class="itembox">えええ</p> 11 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 12 <script type="text/javascript"> 13 $(function() { 14 15 var check = $('p.itembox'); // itemboxクラスを持つpタグを取得 16 var numbers = [ 100, 150, 245, 300, 415 ]; 17 var b = $.grep(numbers, function(e){ return e; }); 18 19 $(check).each(function (i) { 20 var checkid = $(this).attr('id'); 21 if (checkid == b) { 22 $(this).addClass('pink'); 23 } 24 }); 25 }); 26 </script> 27</body>
■ 試したこと
inArrayも試しましたが、"0"または"-1"という値しか返ってこなかったため、諦めました。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/08 15:40
退会済みユーザー
2019/12/08 17:52
退会済みユーザー
2019/12/08 18:35