我有以下HTML代码: -
<ul id="list1">
<li class="a">item 1</li>
<li class="a">item 2</li>
<li class="b">item 3</li>
<li class="b">item 4</li>
</ul>
以下脚本: -
<script type="text/javascript">
$("document").ready(function() {
$("#list1 li:last").prependTo("#list1 li:first");
});
</script>
预期的显示是: -
但在IE上我看到了: -
我正在使用jQuery 1.10.2。
任何线索?
答案 0 :(得分:2)
您似乎正在尝试将最后li
移至第一个位置,这意味着您需要将其添加到ul
元素而不是第一个
$("#list1 li:last").prependTo("#list1");
演示:Fiddle
与使用insertBefore('#list1 li:first')
为什么浏览器的显示会有所不同?由于您通过将li
附加到另一个li
来创建无效的html标记,因此应将li
添加到ul
或ol
元素
答案 1 :(得分:1)
如果您想将最后一个li
放在第一个li
之前的第一个位置,请尝试改为使用insertBefore():
$("document").ready(function() {
$("#list1 li:last").insertBefore("#list1 li:first");
});
或者您可以使用具有相同效果的prependTo():
$("document").ready(function() {
$("#list1 li:last").prependTo("#list1");
});