2012-01-22 5 views
2

iframeのURLにyoutube.comというテキストが含まれていると、そのURLを変更するにはどうすればよいですか?jQueryでiframe URLを変更する

は、私が追加したい:

&wmode=Opaque

それに

が、この引数が存在しない場合にのみ、

$('iframe[src*=youtube.com]').attr('src', 
    $(this).attr('src') + '&wmode=Opaque');` 

が、私はエラーを取得::

が試さ

Uncaught Error: Syntax error, unrecognized expression: [src*=youtube.com]


[OK]を、私が見つけた:

$('iframe[src*="youtube.com"]').each(function(){ 
    this.src += '&wmode=Opaque'; 
}); 
+1

値を引用する必要があるため、構文エラーが発生します: 'src * = 'youtube.com' '。 – alexn

+0

最後のコードでは、そのパラメータが既に存在していても、URLに '&wmode = Opaque'を追加します。 –

+0

あなたは正しいです、どうすればそれが存在するかを確認できますか? javascriptにstrpos関数がいくつかありますか? – Alex

答えて

1

あなたがやりたいjQuery APIによると、 this:

$('iframe[src*=youtube.com]').attr('src',$(this).attr('src') + '&wmode=Opaque'); 
$('iframe[src*="youtube.com"]').attr('src',$(this).attr('src') + '&wmode=Opaque'); 

「youtube.com」を二重引用符で囲みます。私はこの方法でそれを行うだろう

+0

おっと、私が入力している間に自分を見つけました... – Joep

1

<script type="text/javascript"> 

    function $_GET(key, src) 
    { 
     var re = new RegExp('[&|?]'+ key +'=([^&]*)','i'); 
     return (src = src.replace(/^\?/,'&').match(re)) ? src=src[1] : src=''; 
    } 

    function appendToIframe(id, key, value) 
    { 
     var iframe = document.getElementById(id); 
     var src = iframe.src; 

     // Append desired key and value if key doesn't exist 
     if (!$_GET(key, src)) 
     { 
      var glue = (src.indexOf('?') == -1) ? '?' : '&'; 
      src += glue + key +'='+ value 
     } 

     iframe.src = src;   
    } 


    </script> 

<iframe src="your_url" id="iframeID"></iframe> 

<a href="#" onclick="appendToIframe('iframeID', 'wmode', 'Opaque'); return false;">APPEND</a> 

ただ、必要に応じて、iframeタグのsrcidを変更し、IFRAMEにキーと値の新しいカップルを追加に機能appendToIframeを使用キーがまだ存在しない場合のみのURL

jQueryは不要です。

関連する問題