-1

この 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">→&lt;/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>&nbsp;";
    } else {
        newContent += "<a class='page' href='" + $(this).find("a").attr("href") + "'>" + $(this).find("a").html() + "</a>&nbsp;";
    }
});

$('.wp-pagenavi ul').replaceWith(newContent);
4

2 に答える 2

1

これを行うためのはるかに洗練された方法がありますが、ここにあなたが試すかもしれない手っ取り早い解決策があります。出力が「出力」のクラスを持つ div 内にあると仮定します。

//Loop over list items
$('.wp-pagenavi ul').each(function(i, obj) {
    var position = i + 1;
    if($(this).hasClass('active')) {
        $('.output').append('<span class="current">'+position+'</span>');
    }
    else {
        $('.output').append('<a href="#" class="page">'+position+'</a>');
    }
});

//Don't need this anymore
$('.wp-pagenavi ul').remove();
于 2013-04-29T17:22:04.400 に答える