1

クラスが一意でない場合、どのようにinsertAfterクラスを使用できますか?方法はありますか?divクラス「desc」の後にdiv「name」を移動したい、または別の場所に移動したいとしましょう。

しばらくすると、ある種のループに入り、スクリプトを停止するように求められます

http://jsfiddle.net/rudyten/ffGZk/

$(".image").insertAfter(".name");
$(".desc").insertAfter(".image");


<div class='box'>
    <div class='name'>NAME</div>
    <div class='image'>IMAGE</div>
    <div class='desc'>DESC</div>
</div>
<div class='box'>
    <div class='name'>NAME</div>
    <div class='image'>IMAGE</div>
    <div class='desc'>DESC</div>
</div>
4

1 に答える 1

1

insertAfter次のようなeach関数で実行できます。

$('.container').each(function(){
    if (loc == "AB") {
        $(this).find(".image").insertAfter($(this).find(".name"));
        $(this).find(".desc").insertAfter($(this).find(".image"));
    }

    if (loc == "BA") {
        $(this).find(".image").insertAfter($(this).find(".desc"));
        $(this).find(".name").insertAfter($(this).find(".image"));
    }

    if (loc == "AA") {
        $(this).find(".desc").insertAfter($(this).find(".name"));
        $(this).find(".image").insertAfter($(this).find(".desc"));
    }

    if (loc == "BB") {
        $(this).find(".name").insertAfter($(this).find(".image"));
        $(this).find(".desc").insertAfter($(this).find(".name"));
    }
});

これがjsfiddleです。http://jsfiddle.net/ffGZk/4/

于 2013-03-07T07:52:59.847 に答える