我的html结构如下
<ul>
<li class="inner_m">first</li>
<li class="inner_m">second</li>
<li class="inner_m">third</li>
<li class="inner_m">fourth</li>
</ul>
现在我将如何通过jQuery设置此结构,如下所示
<ul>
<li class="inner_m">fourth</li>
<li class="inner_m">first</li>
<li class="inner_m">second</li>
<li class="inner_m">third</li>
</ul>
答案 0 :(得分:1)
您可以使用.eq(3)
选择第四个元素,然后使用.prepend()
添加第一个位置。这个:
$("ul").prepend($(".inner_m:eq( 3 )"));
<强> Working Demo 强>
答案 1 :(得分:1)
在jquery中使用 prepend()
$("ul li:eq(3)").remove();
$("ul").prepend("<li class='inner_m'>fourth</li>");
或
$('li:last-child').prependTo('ul');
答案 2 :(得分:1)
将所有兄弟姐妹放下并包裹最后一个兄弟姐妹:
$('li:last-child').each(function() {
$(this).prependTo(this.parentNode);
});
您也可以在这里使用$('li:nth-child(4)')
,但:last-child
恰好与您的情况相同。
我在这里使用.each()
的原因是,如果您有多个<ul>
阻止,那么会使其一致地工作。
或使用纯JavaScript:
[].forEach.call(document.querySelectorAll('li:last-child'), function(node) {
node.parentNode.insertBefore(node, node.parentNode.firstChild);
});
答案 3 :(得分:0)
答案 4 :(得分:0)
答案 5 :(得分:0)
试试这个:
$(document).ready(function(){
$this= $('.inner_m:eq(3)');
$this.insertBefore($this.siblings(':eq(0)'));
});
答案 6 :(得分:0)
$(document).ready(function () {
$li_fo = $('li').eq(3);
$li_fo.prependTo('ul');
});
答案 7 :(得分:0)
使用prepend方法来解决问题。
$('li:last-child').each(function() {
$(this).prependTo(this.parentNode);
});
http://jsfiddle.net/S96qP/