LaravelのViewでidを取得し、それに対してBadgeを当てはめることをしたいのですが、一箇所のみ反映されその他の記事に対しては反映されません。
上の画像のテーブルの右側の列の1行目には休業日のタグがついていますが、2行目にはついていません。各行につけるにはどうしたらいいでしょうか。
main.js
JavaScript
1'use strict'; 2{ 3 const event = document.getElementById('event'); 4 const calendar = document.getElementById('calendar'); 5 const other = document.getElementById('other'); 6 var i; 7 if(calendar!=null){ 8 calendar.innerHTML="<span class='badge badge-success'>休業日</span>"; 9 }else if(other!=null){ 10 other.innerHTML="<span class='badge badge-success'>その他</span>"; 11 }else if(event != null){ 12 event.innerHTML="<span class='badge badge-success'>イベント</span>"; 13 } 14};
welcome.blade.php(tableのみ抜粋)
PHP
1 <table class="table table-sm table-striped"> 2 <thead> 3 <tr> 4 5 <th scope="col" style="width:100px;">更新日</th> 6 <th scope="col" colspan="2" style="width:100px;">タイトル</th> 7 </tr> 8 9 </thead> 10 <tbody> 11 <tr > 12 <?php 13 $i=0; 14 15 ?> 16 @foreach($post as $posts) 17 <?php 18 if($i>4){ 19 20 break; 21 22 }else{ 23 $i++; 24 } 25 ?> 26 <td> {{ date('Y-m-d',strtotime($posts->updated_at)) }}</td> 27 <td> <a href="{{-- url('/page/'.$posts->id )--}} {{action('PostsController@page',$posts) }}">{{ $posts->title }}</a></td> 28 <td><span id="{{$posts->type}}"></span></td> 29 </tr> 30 <tr> 31 @endforeach 32 33 </tbody> 34</table>
###補足
####main.jsについて
-
デベロッパーツールのコンソールにはmain.jsのエラーが表示されませんでした。
-
Webを開いた際のソース表示では、<span>タグとidなどはしっかり表示され、IDの内容も取得できていました。
-
main.jsの読み込みはwelcome.blade.phpの下(<head>内ではない)に読み込み設定をしました。
###その他
- doument.getElementByIdでは一箇所でしか機能しないのでしょうか
どなたかご親切な方ご教授いただければ幸いです。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/31 03:22