我需要更改此 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 Team 更新或新版本之后出现问题,所以这不是一个选项
- 在另一部分更改静态将不起作用,因为链接是动态生成的,所以今天如示例所示为 1,2,3,4 但明天可能是 1,2,3 或 1,2,3,4,5,6 或不管怎样
编辑 2:为 UL 添加了一个容器,这样我就可以使用$('.wp-pagenavi')
而不仅仅是ul
编辑 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);