首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5数据块JSON

HTML5数据块JSON
EN

Stack Overflow用户
提问于 2012-09-09 11:17:58
回答 2查看 1.5K关注 0票数 3

好的,这段代码:

代码语言:javascript
复制
<div class="summary-block" data-block-json="{"pageSize":4,"acceptTypes":["gallery","blog","projects","calendar"]}">

我正在尝试使用一些jQuery来完成下面这样的事情:

代码语言:javascript
复制
$(".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%。我怎么才能让它像这样:

代码语言:javascript
复制
$(".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这必须以某种方式包含在我的代码中。请帮帮忙。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-09 11:26:28

您不会过滤元素,只是设置新的data属性,而不是选择具有特定data属性的元素,而且在each函数上下文中,您应该使用this,它引用当前的元素,而不是$('.summary-item'),并且您应该编写data('block-json'),而不是data('block')。您可以使用filter方法。

代码语言:javascript
复制
<div class="summary-block" data-block-json='{"pageSize":4,"acceptTypes":["gallery","blog","projects","calendar"]}'>...</div>
代码语言:javascript
复制
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/

票数 1
EN

Stack Overflow用户

发布于 2012-09-09 11:27:40

尝尝这个

代码语言:javascript
复制
$(".summary-block").data('block', 'pageSize').where('pagesize' , 4 ).each(function() {
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12336253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档