0

iframe src の一部を変更するために JavaScript を使用する必要があります。その iframe src で「500」を「800」に変更する方法はありますか? 次のコードを試しましたが、うまくいきませんでした。誰かがそれを助けることができれば幸いです。

        function bigPhotosets() {
            $('iframe.photoset').each(function(){
                $(this).attr('src').replace('500','800');
                $(this).attr('width').replace('500','800');
            });
        }

        bigPhotosets();
4

4 に答える 4

3

.replace()何もしていない新しい文字列を返します。

srcをこの新しい文字列に設定する必要があります。

var newSrc = $(this).attr('src').replace('500','800');   
$(this).attr('src', newSrc);

これを行うより高速な方法もあります。

于 2012-07-04T23:57:50.643 に答える
0

SLaksの答えは正しいと思います。tumblr ページのコンソールで彼のコードを使用すると、ソースが正しく変更されました。ただし、幅は変わらず、高さを調整する必要があります。

http://jtestblog1.tumblr.com/post/26387860417/aquaticwonder-dancing-alone-portraits-by-caitiのコンソール (Chrome) に次のコードを貼り付けました。

function bigPhotosets() {
    $('iframe.photoset').each(function(){
        var newSrc = $(this).attr('src').replace('500','800');
        $(this).attr('src', newSrc).width(800).height(912);
    });
}

bigPhotosets();

500あなたの URL に別のものが存在することが心配です。これにより、URLが台無しになります。常に URL の最後にある場合は、URL の最後にのみ発生する場合にのみ 500 を置き換える正規表現を使用することをお勧めします。

つまり、3行目を次のように変更します

var newSrc = $(this).attr('src').replace(/500$/,'800');

500 が URL の最後にある場合にのみ機能します (サイズが常に URL の最後にある場合、それは良いことです)。tumblr では、サイズURL の末尾にあるため、この正規表現は機能します。

于 2012-07-07T01:28:26.077 に答える
0

このコードは単に src 属性に戻り、一部のテキストを置き換え、それ以上何もしません。これを試して:

$(this).attr('src', $(this).attr('src').replace('500','800') );
于 2012-07-04T23:58:42.530 に答える
0

最も簡単な方法。古い src を同じ src に置き換えますが、500 を 800 に置き換えます。

$(this).attr('src', $(this).attr('src').replace('500','800') );

最初の回答のコメントのリンクでは、iframe src に500ではなく600があるため、機能しません。

また、幅属性と css 幅の両方に注意する必要があることに注意してください。

あなたに与えるだろう

$(this).attr('width', 800);
$(this).css('width', 800);

この後、幅を変更した方法に比例して iframe の高さを調整するだけです。oldHeight*800/500 (または実際のケースでは 800/600) です。

于 2012-07-11T10:27:57.600 に答える