尝试使用jquery为magnific-popup设置data-mfp-src属性

时间:2014-11-08 07:02:44

标签: jquery magnific-popup

我正在修改一个利用夸张弹出窗口的Wordpress主题。

我想用空字符串替换锚标记中的URL,而是使用URL填充data-mfp-src属性。这是为了防止中间点击在新标签页中打开源图像并隐藏状态栏中的URL(我知道它仍然在页面源中可见)。

我试过这个:

$('.photowall-item a').each(function(idx,link) {
    $(this).attr('data-mfp-src', link);
    $(this).attr('href', '');
});

我还尝试使用$(this).attr('href')设置data-mfp-src而不是链接。

在加载页面的任何一种情况下的结果是用空字符串替换href,创建了data-mfp-src但是还包含空字符串而不是原始href值。如果我为href指定了不同的值,则data-mfp-src将获得相同的值。这打破了弹出窗口。

如果我将一个硬编码值分配给data-mfp-src,例如。 $(this).attr('data-mfp-src', 'someurl')它很有用,但无论你点击哪个缩略图,都会弹出相同的图像。

同样奇怪的是,如果我在消隐href后立即执行alert($(this).attr('data-mfp-src')),则会返回data-mfp-src的正确值。但是当我在浏览器中查看生成的源时,该值就消失了。

1 个答案:

答案 0 :(得分:0)

插入此代码的函数被调用两次 slaps额头

data-mfp-src和href第一次正确设置。第二次,分配给href的空字符串将覆盖在data-mfp-src中分配的正确URL。

我通过定义一个数组来修复它,然后测试它是否为空。如果它是空的,我用hrefs填充数组并继续。如果它不为空,我将先前分配的hrefs分配给data-mfp-src并清空hrefs。

像魅力一样。