【问题标题】:Changing an attribute using jQuery doesn't seem to work in Chrome使用 jQuery 更改属性似乎在 Chrome 中不起作用
【发布时间】:2009-12-22 05:22:19
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: javascript jquery firefox google-chrome


    【解决方案1】:

    你有两个问题。

    1. 您在param[name="movie"] 上设置了错误的属性。您设置的是 data 属性而不是 value 属性。
    2. 您的问题不一定是 jQuery;这是 WebKit 中 flash 播放器的行为。当底层 DOM 对象被修改时,WebKit 中的 Flash 播放器似乎不会自动重新加载。

    试试这个代码。它重写了正确的属性,并通过从 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');
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-08
      • 2010-10-08
      • 1970-01-01
      • 2016-06-06
      • 2010-11-16
      • 2010-12-22
      相关资源
      最近更新 更多