Javascript 在jQuery插件的选项部分访问调用者元素的属性
我有一些链接,根据单击时显示的内容,它们具有不同的宽度和高度数据(这些链接在服务器端生成),如:Javascript 在jQuery插件的选项部分访问调用者元素的属性,javascript,jquery,colorbox,Javascript,Jquery,Colorbox,我有一些链接,根据单击时显示的内容,它们具有不同的宽度和高度数据(这些链接在服务器端生成),如: 但是$(this).data('width')在选项部分似乎无效您可以执行以下操作: $('.inline').each(function(){ $(this).colorbox({inline:true, width:$(this).data('width'), height:$(this).data('height')}); }); Colorbox可以传递一个要求值的函数来代替静态
但是
$(this).data('width')
在选项部分似乎无效您可以执行以下操作:
$('.inline').each(function(){
$(this).colorbox({inline:true, width:$(this).data('width'), height:$(this).data('height')});
});
Colorbox可以传递一个要求值的函数来代替静态函数
它的任何属性的值
最好的解决方案是为数据属性使用
data cbox-
前缀:
<a class="inline" href="#inline-content-1" data-cbox-width="80%" data-cbox-height="80%">content 1</a>
<a class="inline" href="#inline-content-2" data-cbox-width="50%" data-cbox-height="80%">content 2</a>
谢谢提图斯(+1)。这将解决我目前的问题,但我真的很想知道我是否可以从选项访问调用者。很好,我知道有没有任何方法可以访问任何插件的选项属性?@AshkanMobayenKhiabani,这可能取决于某个插件实现。本主题可能会有所帮助:,只需使用数据cbox-
前缀作为属性,查看我的答案。
$('.inline').each(function(){
$(this).colorbox({inline:true, width:$(this).data('width'), height:$(this).data('height')});
});
$('.inline').colorbox({
inline: true,
width: function(){ return $(this).data('width'); },
height: function(){ return $(this).data('height'); }
});
<a class="inline" href="#inline-content-1" data-cbox-width="80%" data-cbox-height="80%">content 1</a>
<a class="inline" href="#inline-content-2" data-cbox-width="50%" data-cbox-height="80%">content 2</a>