我正在尝试将src属性动态添加到iframe中,取自各自的ID。
这是我正在使用的(使用'this'的不正确使用,但你应该得到我想做的。)
$(this).parent().find("iframe").attr('src', http://www.youtube.com/embed/" + $(this).attr('id'));
我的iframe代码如下所示:
<iframe id = "XpOPKZB8dgY" src=""></iframe>
如果它有帮助,可以提供更多上下文:
<script>
$(document).ready(function() {
$("iframe").attr('src', '');
$(".details").slideUp();
$("a.date").click(function() {
var key = $(this).parent().attr('class');
$(this).parent().children("div").slideToggle('slow');
$(this).parent().find("iframe").attr('src', "http://www.youtube.com/embed/" + $(this).attr('id');
$(document.body).animate({
'scrollTop': $(this).offset().top
}, 1000);
});
});
</script>
谢谢!
答案 0 :(得分:3)
你可以这样做:
$(this).parent().find("iframe").each(function(i) {
var src = 'http://www.youtube.com/embed/' + $(this).attr('id')
$(this).attr('src', src);
});
答案 1 :(得分:1)
首先,你需要修复你的jQuery,你只是缺少一个引号:
$(this).parent().find("iframe").attr('src', "http://www.youtube.com/embed/" + $(this).attr('id'));
一旦你将src值重新分配给iFrame,我会尝试执行这个JavaScript:
document.getElementById('XpOPKZB8dgY').contentWindow.location.reload();
我没有对此进行测试,但它应该可行。 :)
希望有所帮助,
spryno724
答案 2 :(得分:1)
$("iframe").each(function() {
$(this).attr('src', 'http://www.youtube.com/embed/' + $(this).attr('id'));
});
答案 3 :(得分:1)
您在将src应用回iframe的行上缺少右括号。 同样从iframe中提取id可能需要与应用src相同的语法。
$(document).ready(function() {
$("iframe").attr('src', '');
$(".details").slideUp();
$("a.date").click(function() {
var key = $(this).parent().attr('class');
$(this).parent().children("div").slideToggle('slow');
var newSrc = "http://www.youtube.com/embed/" +
$(this).parent().find("iframe").attr('id');
$(this).parent()
.find("iframe")
.attr(
'src', newSrc
); // << Missing Here
$(document.body).animate({
'scrollTop': $(this).offset().top
}, 1000);
});
});
答案 4 :(得分:0)
我认为你没有提到iframe id
,你需要引用它,就像你设置src
属性一样:
$(this).parent().find("iframe").attr('src', "http://www.youtube.com/embed/" + $(this).parent().find("iframe").attr('id'));