【发布时间】:2011-04-23 10:55:37
【问题描述】:
我正在尝试交换此嵌入元素的 src 值的值,具体取决于点击事件。
它可以按预期在 Firefox 和 Opera 中运行,但不能在 safari、chrome 或 IE 中运行。
$('.scrollableArea a').click(function() {
//retract id from selected anchor, and create + append new video parameter values.
var newVideoVal = 'http://www.youtube.com/v/' + $(this).attr("id") + '?version=3&autoplay=1';
$('#gallery_content object param').attr('value', newVideoVal);
$('#gallery_content object embed').attr('src', newVideoVal);
});
如果我在console.log下面的点击事件函数..
console.log($('#gallery_content embed').attr("src"));
对于每个点击事件,控制台都会返回 src 的值,并带有交替的锚点 id 值,例如。http://www.youtube.com/v/videoidhere?version=3&autoplay=1
——
这是浏览器问题吗?
操作对象/嵌入元素有问题吗?
难道我做错了什么? (可能!)
【问题讨论】:
-
webkit 和 ie 中到底发生了什么?锚的 id 没有保存在 embed 和 param 元素中吗?还是视频没有播放?
-
object元素中是否只有 1 个 param 元素?如果不是,您将覆盖 all 的参数标签。 -
@Johnny Freeman 来自控制台,每次点击事件都会保存/交换它;但是,这种情况下的视频不会改变。默认加载的初始视频会继续播放。
-
@zzzzBov 谢谢你的收获,有几个;不幸的是,更具体一点,仍然不能解决问题。
-
@Michel Joanisse,在这种情况下,为什么不直接通过
$('#gallery_content object').replace('<object...');替换整个object?
标签: javascript jquery jquery-selectors