http://ugokay01.wpblog.jp/blog-comment-res-anchor-popup/
および、
https://teratail.com/questions/78880
を参考にしながら、bbpressでレスアンカー付きの投稿があったら、返信先のコメントをポップアップで表示する機能を実装しようとしています。
ですが、本来ならコメント内のレスアンカーがspanで囲まれるはずが囲まれません。
以下がコードですが、何が原因でできないのでしょうか?
お力添えいただけますと幸いです。よろしくお願いいたします。
html
1<div class="bbp-body"> 2 <div class="reply-box" id="1"> 3 <div id="post-xx" class="bbp-reply-header"> 4 <div class="bbp-meta"> 5 <div class="comment-ry"> 6 <span class="num">1</span><a>返信</a> 7 </div> 8 </div> 9 </div> 10 <div id="res_1" class="reply-container"> 11 <div class="bbp-reply-content"> 12 <p>コメント</p> 13 </div> 14 </div> 15 </div> 16 17 <div class="reply-box" id="2"> 18 <div id="post-xx" class="bbp-reply-header"> 19 <div class="bbp-meta"> 20 <div class="comment-ry"> 21 <span class="num">2</span><a>返信</a> 22 </div> 23 </div> 24 </div> 25 <div id="res_2" class="reply-container"> 26 <div class="bbp-reply-content"> 27 <p>>>1<br> <!-- この >>1 をspanで囲みたい --> 28 [1]のコメントに返信</p> 29 </div> 30 </div> 31 </div> 32</div>
javascript
1jQuery(document).ready(function($) { 2 var 3 // 設定 4 selCommentContent = '.bbp-reply-content > p', // コメント本文のjQueryセレクタ 5 selComment = '.reply-box', // コメント1件全体のjQueryセレクタ 6 strResAnchor = '>>', // コメレスアンカーの開始文字 7 flagJump = true, // コメレスアンカークリック時にジャンプ(true:する, false:しない) 8 flagZenkaku = true, // 全角数字もコメレスアンカーとして扱う(true:する, false:しない) 9 10 // その他変数 11 reResAnchor, // コメレスアンカーにマッチする正規表現オブジェクト 12 strResAnchorID, // コメレスアンカーの数字部分 13 jqResAnchor, // コメレスアンカーのjQueryオブジェクト 14 jqResTarget; // コメレスアンカー参照先のjQueryオブジェクト 15 16 // 正規表現オブジェクトの生成 17 if (flagZenkaku) { 18 reResAnchor = new RegExp('(' + strResAnchor + ')((?:[0-9]+|[0-9]+))', 'g'); 19 } else { 20 reResAnchor = new RegExp('(' + strResAnchor + ')([0-9]+)', 'g'); 21 } 22 23 // コメント本文のレスアンカーをspan要素に置換(res-anchorクラスを付加) 24 $(selCommentContent).each(function() { 25 $(this).html( 26 $(this).html().replace(reResAnchor, function() { 27 if (flagZenkaku && /[0-9]+/.test(arguments[2])) { // レスアンカーの数字を半角化 28 strResAnchorID = arguments[2].replace(/[0-9]/g, function(match){ 29 return String.fromCharCode(match.charCodeAt(0)-0xFEE0); 30 }) 31 } else { 32 strResAnchorID = arguments[2]; 33 } 34 return '<span class="res-anchor" data-resid="' + strResAnchorID + '">' + arguments[0] + '</span>'; 35 //このspanタグで>>1を囲みたかった 36 }) 37 ); 38 }); 39 40//以下略 41 42});
####試したこと
selCommentContentやselCommentの指定を変えてみたりしましたが、変化はありませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/10 03:50