3

<div>要素を移動したい。この場合、最初と最後の を入れ替えdiv.clearfixます。したがって、この:

<fieldset>
    <div class="clearfix ">
        <label for="form-title">Title</label>
        <div class="input"></div>
    </div>
    <div class="clearfix "></div>
    <div class="clearfix ">
        <label>Verification</label>
        <div dir="ltr">
            recaptcha
        </div>
    </div>
</fieldset>

これになります:

<fieldset>
    <div class="clearfix ">
        <label>Verification</label>
        <div dir="ltr">
             recaptcha
        </div>
    </div>
    <div class="clearfix "></div>
    <div class="clearfix ">
        <label for="form-title">Title</label>
        <div class="input"></div>
    </div>
</fieldset>

私は検索しましたが、私が持っているのは(¿画面?)位置を移動することだけで、私が望むものではありません。それらを交換するにはどうすればよい<div>ですか?

4

1 に答える 1

4

div.clearfixその HTML を考慮して 、最初と最後の s を入れ替えるには、、、querySelectorおよびinsertBefore関数をappendChild使用します。

これを行う完全な Greasemonkey スクリプトを次に示します。

// ==UserScript==
// @name     _Swap first and last div.clearfix
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @grant    none
// ==/UserScript==

var container    = document.querySelector ("fieldset");
var firstTargDiv = container.querySelector ("fieldset > div.clearfix:first-child");
var lastTargDiv  = container.querySelector ("fieldset > div.clearfix:last-child");

//-- Swap last to first.
container.insertBefore (lastTargDiv, firstTargDiv);

//-- Move old first to last.
container.appendChild (firstTargDiv);
于 2012-10-26T02:49:24.417 に答える