Search code examples
javascriptjqueryhtmljquery-after

jQuery on click move a div after() the parent


In the following code, how can I move the <div class="move">I was moved to the parent.</div> after the parent of the element I click, when I click Add New.

I have everything right, but I cannot do the part where I need to move it after() the parent.

Can you please help?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Side bar poll thingy</title>
<script type="text/javascript" src="http://localhost/site/scripts/jQueryCore.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('.add').click(function() {
    $("#container").find('.flag, .edit, .delete').remove();
    $(this).parent("div").after(".move");

    });
});
</script>
</head>
<body>
<div id="container">
    <div class="h1" data-id="1">Teachers <span class="add" data-id="US01">Add New</span></div>
    <div class="h2" data-id="2">Who is your favorite Math teacher? <span class="add" data-id="US02">Add New</span></div>
        <br>
    <div class="h1" data-id="8">Restaurants <span class="add" data-id="US10">Add New</span></div>
    <div class="h2" data-id="9">Which is your favourtie restaurant in town? <span class="add" data-id="US20">Add New</span></div>

    <div class="move">I was moved to the parent.</div>
</div>
</body>
</html>

Solution

  • try this fiddle http://jsfiddle.net/QP3MZ/

    $(document).ready(function () {
        $('.add').click(function () {
            $("#container").find('.flag, .edit, .delete').remove();
            var $move = $('#container .move');
            $(this).parent("div").after($move);
        });
    });