尝试复制页面上的第一个.postNav
并用它替换所有后续导航。我已经简化了,逻辑似乎正确,但该函数仅在我传递字符串时才有效,而不是元素。
JS小提琴! http://jsfiddle.net/cwMhh/1/
HTML:
<nav class="postNav">
<ul>
<li><a href="#pageHeader">link to header</a></li>
<li><a href="#one">link to other posts</a></li>
<li><a href="#two">link to other posts</a></li>
<li><a href="#three">link to other posts</a></li>
<li><a href="#four">link to other posts</a></li>
<li><a href="#five">link to other posts</a></li>
</ul>
</nav>
JavaScript的:
$('.postNav:gt(0)').each(function(){
$(this).replaceWith($('.postNav:eq(0)'));
});
答案 0 :(得分:1)
您必须.clone()
元素:
$('.postNav:gt(0)').replaceWith(function () {
return $('.postNav:first').clone();
});
为了获得更好的性能,请缓存选择器:
var $navs = $('.postNav'),
$replaceWith = $navs.first();
$navs.not( $replaceWith ).replaceWith(function () {
return $replaceWith.clone();
});
答案 1 :(得分:0)
var replaceHTML = $('.postNav:first').html();
$('.postNav:gt(0)').each(function(){
$(this).replaceWith(replaceHTML);
});