2017-03-16 24 views
3
<ul> 
    <li>One</li> 
    <li>Two</li> 
    <li>Three</li> 
    <li>Four</li> 
</ul> 

当我点击三个我希望它像: - 利用remove()prepend()方法选择元素,并使其第一要素

<ul> 
    <li>Three</li> 
    <li>One</li> 
    <li>Two</li> 
    <li>Four</li> 
</ul> 
+0

删除和前置... – Rayon

+1

请加上你的努力,到目前为止的一些代码,我们会帮你调试。 – ITWitch

回答

1

手柄click事件。

$("body").on("click",'li',function(){ 
 
$('ul').prepend($(this)); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<ul> 
 
<li>one</li> 
 
<li>two</li> 
 
<li>three</li> 
 
<li>four</li> 
 

 
</ul>

+1

为什么你需要一个循环,为什么你需要删除? – madalinivascu

+0

你也不需要 - 你可以直接附加/预先设置一个DOM对象,而不用担心它被克隆,并且循环完全是多余的 –

5

如果您有jQuery的你可以使用:

$('#items li').click(function() { 
 
    $(this).parent().prepend(this); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<ul id = "items"> 
 
    <li>One</li> 
 
    <li>Two</li> 
 
    <li>Three</li> 
 
    <li>Four</li> 
 
</ul>

了,如果需要,我可以也写了非jQuery的一个。

0

你可以试试这个

 $('#list li').on('click', function() { 
 
      var index = $('li').index(this); 
 
      if (index !== 0) { 
 
       $(this).prependTo($(this).parent()); 
 
      } 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<!DOCTYPE html> 
 

 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head runat="server"> 
 

 
</head> 
 
<body> 
 
    <form id="form1" runat="server"> 
 
    <div> 
 
    <ul id="list" style="cursor: pointer;"> 
 
     <li>One</li> 
 
     <li>Two</li> 
 
     <li>Three</li> 
 
     <li>Four</li> 
 
    </ul> 
 
    </div> 
 
    </form> 
 
</body> 
 
</html>

相关问题