Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery插件的选项部分访问调用者元素的属性_Javascript_Jquery_Colorbox - Fatal编程技术网

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>