2012年2月27日月曜日

objectのparamの値を変えたいとき

  • このエントリーをはてなブックマークに追加

objectのparamの値を変えたいときにどうしたらいいかという方法。
jQueryを使って単純に$('param[name="hoge"]').val("foo")としてみたけど、
変化するのはIEのみ。

そこでどうにか処理出来ないかと悩んでたけど、下記の方法で何とかなった。



var param1 = $(document.createElement('param')).attr({
    name:"hoge",
    value:"foo"
});

$('object').append(param1);

こんな感じでdocument.createElementでparamを作成してあげて、
objectに追加していくといった方法。
ちなみにswfを埋め込むためのswfobjectも実はこんな感じでやってたり。

なのでこの方法を使えばブラウザ関係無しに自由にparamを変更可能。

※なお<param name="hoge" />はobjectの中に入れておいてはダメ。

Adsense