0

初めてjQueryでdata属性を使用しようとしています.idがやりたいことは、data-order属性に基づいて要素を正しい順序に移動することです。

「未定義」を受け取り続けているため、データ順序属性の正しい値を見つける方法がわかりませんか?

誰かが私が間違っていることを見ていますか?また、dom の後に来る正しい要素を見つける方法はありますか? したがって、現在の値のデータ属性が 5 の場合、値が 4 の属性の後に来る必要があります。

$(document).ready(function(){  

// Move the profile back to positton funciton
function dmoveProfile(){

    alert($(this).data("data-order"))

};

$('.box').click(function(){
    alert($(this).data("data-order"))
});

// move into position


});

http://jsfiddle.net/Fta6p/

4

3 に答える 3

1

順序付け関数が正しく機能しない理由について十分な答えがあるようです。

基本的な JS を使用して要素を並べ替える方が優れています。jquery ソリューションを探している場合は、ここで見つけることができます。

function sortBoxes(){
    for(var i=1; i<= $('.box').length; i++) {
        var $box = $('.box[data-order="'+i+'"]');
        $box.appendTo($('section'));
    }
};

$('.box').click(function(){
    // alert($(this).data("order"));
    sortBoxes();
});

デモ: http://jsfiddle.net/Fta6p/7/

于 2013-07-26T15:26:12.087 に答える
0

更新されたフィドラー

次のように、「data-」プレフィックスなしで jQuery .data() メソッドを使用します。

$(document).ready(function(){  

    // Move the profile back to positton funciton
    function dmoveProfile(){

        alert($(this).data("order"))

    };

    $('.box').click(function(){
        alert($(this).data("order"))
    });

    // move into position


});
于 2013-07-26T15:10:04.117 に答える