我尝试将值发送到jquery函数,在函数内部我有一些类,我需要在每种情况下发送一些变量
function videos_pop(idv)
{
jQuery('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
disableOn: 700,
type:'iframe',
mainClass:'mfp-fade',
removalDelay:160,
preloader:false,
fixedContentPos:false
});
}
在这种情况下,传递内部函数的值是(idv),我需要将这个添加到每个类的末尾,如下所示:
jQuery('。popup-youtube ** + idv **,.popup-vimeo ** + idv **,.popup-gmaps ** + idv **')。magnificPopup({
我认为这个问题写得很糟糕,并且没有把这个值传递给函数,因为我习惯于必须特别写,因为('')里面的类和由,
分隔只有这就是问题所在,感谢您对此的帮助,问候
答案 0 :(得分:0)
最简单的方法是连接选择器的字符串。
function videos_pop(idv)
{
var selector = '.popup-youtube' + idv + ', .popup-vimeo' + idv + ', .popup-gmaps' + idv;
jQuery(selector).magnificPopup({
disableOn: 700,
type:'iframe',
mainClass:'mfp-fade',
removalDelay:160,
preloader:false,
fixedContentPos:false
});
}
您还可以在该选择器中放置占位符,然后使用.split()
和.join()
的组合。
function videos_pop(idv)
{
var selector = '.popup-youtube[idv], .popup-vimeo[idv], .popup-gmaps[idv]'
.split('[idv]')
.join(idv);
jQuery(selector).magnificPopup({
disableOn: 700,
type:'iframe',
mainClass:'mfp-fade',
removalDelay:160,
preloader:false,
fixedContentPos:false
});
}
...或创建正则表达式并使用.replace()
(只需记住全局g
标志)。
function videos_pop(idv)
{
var selector = '.popup-youtube[idv], .popup-vimeo[idv], .popup-gmaps[idv]'
.replace(/\[idv\]/g, idv);
jQuery(selector).magnificPopup({
disableOn: 700,
type:'iframe',
mainClass:'mfp-fade',
removalDelay:160,
preloader:false,
fixedContentPos:false
});
}