假设我有一个列表(但我有表格单元格):
<ul>
<li>first</li>
<li class="middle">2</li>
<li class="middle">3</li>
<li class="middle">3</li>
<li>last</li>
</ul>
我想用一个.middle
替换所有<li>middle</li>
元素。使用jQuery的replaceWith
将替换所有单个元素(如this fiddle中所示):
<ul>
<li>first</li>
<li>new content</li>
<li>new content</li>
<li>new content</li>
<li>last</li>
</ul>
但我想要这个:
<ul>
<li>first</li>
<li>new content</li>
<li>last</li>
</ul>
是否有本机jQuery方法来执行此操作,或者我必须在我的情况下创建新列表(或新表行),而不是删除旧的并添加新的?
请注意:所有元素都是顺序的,在DOM树中它们一个接一个地出现(它们是一个组)。
答案 0 :(得分:2)
将所有内容全部包裹在<li>middle</li>
中,然后将其删除:
$('li.middle').wrapAll('<li>middle</li>').remove();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>first</li>
<li class="middle">2</li>
<li class="middle">3</li>
<li class="middle">3</li>
<li>last</li>
</ul>
&#13;
答案 1 :(得分:0)
$('.middle:not(:first)').remove();
$('.middle').removeClass('middle').text('New content');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<ul>
<li>first</li>
<li class="middle">2</li>
<li class="middle">3</li>
<li class="middle">3</li>
<li>last</li>
</ul>
答案 2 :(得分:0)
尝试
long yourmilliseconds = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("MMM dd yyyy HH:mm"); //Play with the parameters to get different results
Date resultdate = new Date(yourmilliseconds);
String formattedActualDate = sdf.format(resultdate);
答案 3 :(得分:0)
replaceWith
接受函数参数 - 因此你可以替换找到的元素的第一个出现,并丢弃其余元素:
$(".middle").replaceWith(function(index){ return index == 0 ? "<li>new content</li>" : " "});