用jQuery替换列表项,除了first,last

时间:2015-03-16 00:24:25

标签: jquery html-lists

我有一个项目列表,其中第一个和最后一个作为导航按钮,因此当ajax加载新内容时,必须用检索到的新HTML替换中间项目。

<ul>
  <li class="photonav">Older Photos</li>
  <li class="photo">Item to replace</li>
  <li class="photo">Item to replace</li>
  <li class="photo">Item to replace</li>
  <li class="photonav">Newer Photos</li>
</ul>

photo的项目必须替换为刚刚获得的HTML项目(预先布防的HTML列表项目)。 photonav项必须保持不变。

我知道我可以使用.photo选择器删除它们,但如何在导航项之间放置新的HTML代码?

3 个答案:

答案 0 :(得分:1)

您可以通过简单地选择并删除它们来删除内部元素:

$('.photo').remove();

那时你有这个:

<ul>
  <li class="photonav">Older Photos</li>
  <li class="photonav">Newer Photos</li>
</ul>

然后你的下一步是在第一个li之后插入内容,对吗?然后插入内容after() first()元素:

$('.photonav').first().after(someContent);

答案 1 :(得分:1)

您可以在列表中添加<div>

<ul>
  <li class="photonav">Older Photos</li>
  <div class="insert">
  <li class="photo">Item to replace</li>
  <li class="photo">Item to replace</li>
  <li class="photo">Item to replace</li>
  </div>
  <li class="photonav">Newer Photos</li>
</ul>

答案 2 :(得分:1)

我认为你可以做到

$('.photo').remove();
$('.photonav').last().before(newcontent)