3

さて、このコード:

<div class="summary-block" data-block-json="{"pageSize":4,"acceptTypes":["gallery","blog","projects","calendar"]}">

私は次のようなことを達成するためにいくつかのjQueryを使用しようとしています:

$(".summary-block").data('block', 'pageSize').each(function() {

  $('.summary-item').wrap('<div class="col sqs-col-3 span-3"></div>');
  $('.col > .summary-item').wrap('<div class="newSummary"></div>');

});

これで、コードは100%動作しますが、私が尋ねようとしていることに関しては100%ではありません。どうすれば次のようにできますか?

$(".summary-block").data('block', 'pageSize':4).each(function() {

  $('.summary-item').wrap('<div class="col sqs-col-3 span-3"></div>');
  $('.col > .summary-item').wrap('<div class="newSummary"></div>');

});

:4これは私のコードに何らかの形で含まれている必要があることに注意してください。助けてください。ありがとう!

4

2 に答える 2

1

要素をフィルタリングしません。data特定のdata属性を持つ要素を選択するのではなく、新しい属性を設定するだけです。また、現在の要素を参照する which を使用する必要があり、notをコーディングする必要があるeach関数コンテキストでも使用します。メソッドを使用できます。this$('.summary-item')data('block-json')data('block')filter

<div class="summary-block" data-block-json='{"pageSize":4,"acceptTypes":["gallery","blog","projects","calendar"]}'>...</div>

var $elems = $('.summary-block').filter(function(){
    return $(this).data('block-json').pageSize === 4
})

$elems.each(function(){
    $('.summary-item', this).wrap('<div class="col sqs-col-3 span-3"></div>');
    // or $(this).find('.summary-item')....
})

http://jsfiddle.net/xw2vN/

于 2012-09-09T03:26:27.543 に答える
0

これを試して

$(".summary-block").data('block', 'pageSize').where('pagesize' , 4 ).each(function() {
于 2012-09-09T03:27:40.493 に答える