我遇到以下问题:我在网站上使用了一个视频,想要在灯箱中打开它。我的CMS没有给我打开灯箱内的一个视频的可能性,但我认为这个问题的技术背景太多了所以现在我想做什么:
我希望在我的链接中使用jQuery查看视频,例如'.mp4“>'这部分我想用这样的东西替换或扩展:'。mp4“ data-lightbox =”video“> '。
我试过的第一个瘦是.replaceWith,但我认为它只适用于类或ID?也许代码错了?
$('.mp4">').replaceWith('.mp4" data-lightbox="video">');
我使用搜索不同的方法,但我认为大多数是用于文本更改或更改ID和类...
我正在寻找的是可以处理HTML的东西,所以它只需要替换或添加代码,这是必要的。
此致 马库斯
编辑:HTML:
<a title="title" href="/files/videos/abc/abc.mp4">
<img alt="title" src="assets/images/f/abc.png">
</a>
答案 0 :(得分:0)
不是将html作为文本操作,而是使用jQuery操作属性
这将选择href以.mp4结尾的任何一个,你可以将href改为任何属性名称,如果它不是href
jQuery Selector
$("[href$='.mp4']").attr("data-lightbox", "video")
你可以像这样使用数据:
$("[href$='.mp4']").data("lightbox", "video")
但这不会改变html,只能通过使用数据(“lightbox”)来读取。话虽如此,如果要为灯箱插件注册锚点,第二种方法可能会起作用,我会说有点清洁。
答案 1 :(得分:0)
尝试使用此代码
jQuery('.mp4').attr('data-lightbox','video')
答案 2 :(得分:0)
试试这个,没有经过测试!
var content = $(body); // get content outer
var str = '.mp4" data-lightbox="video">'; // replacement string
var contentInside = content.innerHTML; // now get inner content
var newContent = contentInside.replace(/.mp4">/g, str); // replace ALL occurrences
$(body).html(newContent); // repopulate the outer
希望这样可以解决问题 - 混合香草和jquery除了加速之外没有任何理由 - 不确定替换中的>
是否需要转义并且现在无法进行测试