0

私は誰かが私のために次のように書いたコードを持っています:

var $me = $('.me'),
        crazyNumber = 99999999,
        allOfYou = [
            { 
                elements: $me.parentsUntil('.you'),
                target: $me.parentsUntil('.you').parent()
            },
            { 
                elements: $me.nextUntil('.you'),
                target: $me.nextUntil('.you').andSelf().filter(':last').next()
            },
            { 
                elements: $me.prevUntil('.you'),
                target: $me.prevUntil('.you').andSelf().filter(':last').prev()
            }
        ],
        sorted = allOfYou.sort(function (objA, objB) {
            var a = objA.elements.length + 1 || crazyNumber,
                b = objB.elements.length + 1 || crazyNumber;
            return a - b;
        });

    $('#who').html('you ' + sorted[0].target.data('verb') + ' me');

最後に、代わりにクラスをdiv#who取得target.data('verb')したいのですが、コードがわかりません。試してみました:

$('#who').html(sorted[0].target.data.class);
$('#who').html(sorted[0].attr('class'));
$('#who').html(sorted[0] + $(this).attr('class'));

そして他の多くのこと、何もうまくいかないようです(私はJqueryターゲットに慣れていません..)

JsFiddle での例

4

3 に答える 3

3

おそらく、あなたはこれを探しています -

$('#who').html(sorted[0].target.attr('class'));

http://jsfiddle.net/mohammadAdil/FyqsW/3/

于 2013-04-25T19:10:54.490 に答える
1

jQuery オブジェクトが target に保存されます。

sorted[0].target.attr("class");
于 2013-04-25T19:11:04.560 に答える
1

あなたは近くにいました、あなたのコードをこれに置き換えてください:

$('#who').html(sorted[0].attr('class'));

これとともに:

$('#who').html(sorted[0].target.attr('class'));
于 2013-04-25T19:12:11.607 に答える