单击图像以替换为 iframe src 传递了错误的数据属性
Clicking on image to replace with iframe src is passing in the wrong data-attribute
Fiddle:https://jsfiddle.net/rg2LLvy1/ 几乎可以正常工作,但是单击任一图像都会传入第一个视频的数据视频属性,而不是传入与 "correct" 相关的数据视频每个图像。例如。如果您点击 Cats 视频,iframe 会播放 Soccer 视频。我想我在某处缺少 'this' ?谢谢!
$('img.img-youtube').parent().click(function(){
video = '<iframe src="'+ $('img.img-youtube').attr('data-video') +'"></iframe>';
$(this).parent().replaceWith(video);
});
$('img.img-youtube').parent().click(function(e){
console.log($(this).find("img").attr('data-video'));
video = '<iframe src="'+ $(this).find("img").attr('data-video') +'"></iframe>';
$(this).parent().replaceWith(video);
});
这是一个有效的 Working Demo。
$('img.img-youtube').parent().click(function(){
video = '<iframe src="'+ $(this).find('img.img-youtube').data('video') +'"></iframe>';
$(this).parent().replaceWith(video);
});
问题是您的选择器 $('img.img-youtube').attr('data-video')
给了您第一个值,因为您有 2 个结果用于此选择器,这就是为什么您必须添加 this
以便它特定于图像你点击了。
此外,在使用 JQuery 时,您可以使用 data selector
而不是 attr('data-video')
,这只会让生活更轻松。
Fiddle:https://jsfiddle.net/rg2LLvy1/ 几乎可以正常工作,但是单击任一图像都会传入第一个视频的数据视频属性,而不是传入与 "correct" 相关的数据视频每个图像。例如。如果您点击 Cats 视频,iframe 会播放 Soccer 视频。我想我在某处缺少 'this' ?谢谢!
$('img.img-youtube').parent().click(function(){
video = '<iframe src="'+ $('img.img-youtube').attr('data-video') +'"></iframe>';
$(this).parent().replaceWith(video);
});
$('img.img-youtube').parent().click(function(e){
console.log($(this).find("img").attr('data-video'));
video = '<iframe src="'+ $(this).find("img").attr('data-video') +'"></iframe>';
$(this).parent().replaceWith(video);
});
这是一个有效的 Working Demo。
$('img.img-youtube').parent().click(function(){
video = '<iframe src="'+ $(this).find('img.img-youtube').data('video') +'"></iframe>';
$(this).parent().replaceWith(video);
});
问题是您的选择器 $('img.img-youtube').attr('data-video')
给了您第一个值,因为您有 2 个结果用于此选择器,这就是为什么您必须添加 this
以便它特定于图像你点击了。
此外,在使用 JQuery 时,您可以使用 data selector
而不是 attr('data-video')
,这只会让生活更轻松。