Javascript 是否可以为wookmark中的特定元素设置宽度?

Javascript 是否可以为wookmark中的特定元素设置宽度?,javascript,jquery,this,Javascript,Jquery,This,我有以下代码用于wookmark的初始化 $container.find('.item').wookmark({ itemWidth: 200, offset: 38, autoResize: true, container: $container }); 但是我想根据元素中的属性为每个元素设置不同的宽度,我尝试了如下方法 ... itemWidth: $(this).attr('i

我有以下代码用于wookmark的初始化

$container.find('.item').wookmark({
            itemWidth: 200,
            offset: 38,
            autoResize: true,
            container: $container
        });
但是我想根据元素中的属性为每个元素设置不同的宽度,我尝试了如下方法

...
itemWidth: $(this).attr('imageWidth') ? parseInt($(this).attr(imageWidth)) : 200,
...
但是这个并没有指向“.item”元素,它仍然指向$container

应该是这样的

jQuery.each()迭代器并为每个元素指定不同的itemWidth,如下所示:

$('.item').each(function(el) {
  $(el).wookmark({
    itemWidth: $(el).attr('imageWidth')
  });
});
为什么这个不是指物品而是指$container?因为您在$container上调用.find(),然后jQuery仍然返回$container,并且您在其上调用.wookmark


这指的是调用方对象。

itemWidth是一个选项,每个插件初始化只调用一次。如果不扩展插件,就无法完成所需的操作。顺便说一句,这将不是一个简单的任务,因为插件渲染元素使用无序列表和位置绝对的LIs。也许另一个插件会更准确,例如gridster.js,即使我不知道你到底在找什么。是的,在阅读了文档后,看起来用当前的插件是做不到的,我应该试试别的,但是谢谢你的评论+1你找到了这个问题的解决方案吗?该插件不允许这种行为,所以我保留了默认宽度的项目。如果您有宽度小于默认容器宽度的项目,您可以在框架内设置一些标准宽度的填充。您测试过这个吗?似乎不可能单独为每个磁贴初始化wookmark。