Move Clicked List Items To Top Of List

Assuming HTML like this:

<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
</ul>

So if "Two" is clicked, move it to the top of the list.

$("li").click(function() {
     
  $(this).parent().prepend($(this));
  
});

Will work for multiple lists...

Comments

  1. User Avatar
    Oliver
    Permalink to comment#

    This vanilla.js version isn’t much longer…

    oranges
    pears
    apples
    peaches
    strawberries

    <

    script type=”text/javascript”>

    var list = document.getElementById(“fruits”).childNodes;

    for (var i = 0; i < list.length; i++) {
    list[i].addEventListener(“click”,
    function() {
    fruits.insertBefore(this, fruits.childNodes[0])
    });
    }

Submit a Comment

Posting Code

You may write comments in Markdown. This makes code easy to post, as you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences (```) with double new lines before and after.

Code of Conduct

Absolutely anyone is welcome to submit a comment here. But not all comments will be posted. Think of it like writing a letter to the editor. All submitted comments will be read, but not all published. Published comments will be on-topic, helpful, and further the discussion or debate.

Want to tell us something privately?

Feel free to use our contact form. That's a great place to let us know about typos or anything off-topic.

icon-anchoricon-closeicon-emailicon-linkicon-logo-staricon-menuicon-nav-guideicon-searchicon-staricon-tag