この HTML を変更する必要があります。
<div class="wp-pagenavi">
<ul>
<li class="active">
<span>1</span>
</li>
<li>
<a rel="start" data-ci-pagination-page="10" href="http://devserver/index.php/blog/page/10">2</a>
</li>
<li class="next">
<a rel="next" data-ci-pagination-page="10" href="http://devserver/index.php/blog/page/10">→</a>
</li>
</ul>
</div>
これに:
<span class="current">1</span>
<a href="#" class="page">2</a>
<a href="#" class="page">3</a>
<a href="#" class="page">4</a>
<a href="#" class="page">5</a>
jQuery の使用。メソッド.replaceWith()を使用すると思いますが、値を維持する方法がわかりません。doc のサンプルは、これを機能させるのに十分ではありません。何かアドバイスはありますか?
編集 投稿を明確にする
- 多くの人がわかるように、CodeIgniter で生成されたコードを変更しようとしていますが、PyroCMS と呼ばれる CMS の一部として、ページネーション リンクの生成方法を変更すると、後で Pyro チームの更新または新しいリリースで問題が発生する可能性があるため、これはオプションではありません
- 他の部分では、リンクが動的に生成されるため、静的変更は機能しません。今日は例のように 1,2,3,4 ですが、明日は 1,2,3 または 1,2,3,4,5,6 または 1,2,3,4,5,6 またはとにかく
編集2:ULのコンテナを追加したので、$('.wp-pagenavi')
代わりに使用できますul
EDIT 3ソリューション:@lewsidに基づいて(あなたは私に答えを与えませんが、自分で解決策を見つけるのを手伝ってくれるので、あなたの答えを受け入れます)解決策と、私が望むように機能する自分自身を構築するのに役立ちます、コードは次のとおりです:
var newContent = "";
$('.wp-pagenavi ul > li').each(function() {
if ($(this).attr('class') == "active") {
newContent += "<span class='current'>" + $(this).find("span").html() + "</span> ";
} else {
newContent += "<a class='page' href='" + $(this).find("a").attr("href") + "'>" + $(this).find("a").html() + "</a> ";
}
});
$('.wp-pagenavi ul').replaceWith(newContent);