javascript
  • jquery
  • html
  • css
  • safari
  • 2016-11-22 12 views 0 likes 
    0

    特定の条件では、ラベル要素を一番上に移動します。私のソリューションは非常に簡単だった:SafariでinsertAfterを使用してラベルを移動しようとしたとき

    $("label[for='option_3']").insertAfter("label[for='option_0");
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
     
    
     
    <label for="option_0"> 
     
        first item 
     
    </label> 
     
    <label for="option_1"> 
     
        second item 
     
    </label> 
     
    <label for="option_2"> 
     
        third item 
     
    </label> 
     
    <label for="option_3"> 
     
        forth item 
     
    </label> 
     
    <label for="option_4"> 
     
        fifth item 
     
    </label>

    それは、FirefoxとChromeでかなりよく働いたが、それはサファリ(バージョン10.0.1(12602.2.14.0.7))上で動作しませんでした。

    答えて

    1

    あなたは「」と[] option_0後に閉じるように欠けている

    $("label[for='option_3']").insertAfter("label[for='option_0']"); 
    

    それがあるべきあなたのjQueryのステートメントを使用して問題があります。 Chromeは、それ自体で、この問題を処理するのに十分インテリジェントですが、Safariは

    $("label[for='option_3']").insertAfter("label[for='option_0']");
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
     
    
     
    <label for="option_0" id="one"> 
     
        first item 
     
    </label> 
     
    <label for="option_1"> 
     
        second item 
     
    </label> 
     
    <label for="option_2"> 
     
        third item 
     
    </label> 
     
    <label for="option_3"> 
     
        forth item 
     
    </label> 
     
    <label for="option_4"> 
     
        fifth item 
     
    </label>

    +0

    あなた@Deepをありがとうございます。 (クロムとFirefoxはミスタイプでもうまくいきました、それは私を騙しました) –

    +0

    あなたは歓迎です:) – Deep

    0

    $( "[= 'option_3' の]ラベル")ではありません。insertAfter(= 'option_0のための「ラベル[ ']」);

    あなたのjqueryを整理すると、サファリでも完全に機能します。

    $("label[for='option_3']").insertAfter("label[for='option_0']");
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
     
    
     
    <label for="option_0"> 
     
        first item 
     
    </label> 
     
    <label for="option_1"> 
     
        second item 
     
    </label> 
     
    <label for="option_2"> 
     
        third item 
     
    </label> 
     
    <label for="option_3"> 
     
        forth item 
     
    </label> 
     
    <label for="option_4"> 
     
        fifth item 
     
    </label>

    関連する問題