我正在修改利用华丽弹出窗口的Wordpress主题。
我想将锚标签中的URL替换为空字符串,并使用URL填充data-mfp-src属性。这是为了防止在单击鼠标中键时在新选项卡中打开源图像并在状态栏中隐藏URL(我知道该URL在页面源中仍然可见)。
我已经试过了:
$('.photowall-item a').each(function(idx,link) {
$(this).attr('data-mfp-src', link);
$(this).attr('href', '');
});
我也尝试使用data$(this).attr('href')
而不是link来设置data-mfp-src 。
无论哪种情况,加载页面时的结果都是用空字符串替换href,创建了data-mfp-src,但它还包含一个空字符串而不是原始的href值。如果我给href分配了不同的值,则data-mfp-src将获得相同的值。这会中断弹出窗口。
如果我将硬编码值分配给data-mfp-src例如。$(this).attr('data-mfp-src', 'someurl')
效果不错,但显然无论单击哪个缩略图,都会弹出相同的图像。
同样奇怪的是,如果我在alert($(this).attr('data-mfp-src'))
对href进行消隐之后立即执行操作,则会返回data-mfp-src的正确值。但是,当我在浏览器中查看生成的源时,该值已消失。
此代码插入的功能称为两次拍打额头
第一次正确设置data-mfp-src和href。第二次,分配给href的空字符串将覆盖data-mfp-src中分配的正确URL。
我通过定义一个数组来修复它,然后测试它是否为空。如果为空,则用hrefs填充数组并继续。如果不为空,则将先前分配的href分配给data-mfp-src并清空href。
奇迹般有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句