使用jQuery更改属性似乎在Chrome中不起作用

时间:2009-12-22 05:22:20

标签: javascript jquery firefox google-chrome

我有这个jsbin http://jsbin.com/ehidi。我想更改数据属性和param [name =“movie”]值属性。它似乎适用于Firefox,但不适用于Google Chrome或Safari(webkit?)。

谢谢!

1 个答案:

答案 0 :(得分:3)

你有两个问题。

  1. 您在param[name="movie"]上设置了错误的属性。您设置的是data属性,而不是value属性。
  2. 你的问题不一定是jQuery;这是WebKit中flash播放器的行为。当底层DOM对象被修改时,WebKit中的Flash播放器似乎不会自动重新加载。
  3. 请尝试使用此代码。它重写了正确的属性,它通过删除然后从DOM重新添加flash播放器对象来有效地重新加载flash播放器。

    jQuery('#video-page-wrapper li a').click(function() {
      var url = "http://youtube.com/v/" + jQuery(this).attr("id");
      jQuery('.video-page object').attr({ data: url });
      jQuery('.video-page param[name="movie"]').attr({ value: url });
      jQuery('.video-page object').remove().appendTo('.video-page');
    });