0

imgで始まるタグのすべてのインスタンスhttp://player.vimeo.comを別の URLで置き換える必要があります。

たとえば、ページのコードでこれを見つけることができます。

<img src="http://player.vimeo.com/video/4887233">

imgで始まるすべての src を検索し、別の文字列http://player.vimeo.comに置き換えるjQuery スクリプトを作成しようとしていsrcます (すべての vimeo リンクで同じ文字列になり、基本的に 1 つの変数になります)。

vimeo リンクを見つけて、長さに関係なくリンク全体を確実に置き換えるにはどうすればよいですか (一部のリンクは他のリンクよりも長くなりますが、常に同じ文字列で始まります)。

4

5 に答える 5

4

属性が selector で始まるものをimgすべて選択します。

$("img[src^='http://player.vimeo.com]'").each(function(){
    this.src = this.src.replace("player.vimeo.com", "new.url.com");
});

上記は を に置き換えplayer.vimeo.comます。まったく別の設定が必要な場合は、 を実行してください。srcnew.url.comsrcthis.src = 'new url';

このjsPerfに見られるように、などのネイティブ属性を変更する場合srceachは に比べてはるかに優れたパフォーマンスを発揮することに注意してください。attr

jsFiddle のデモをチェックしてください。

于 2012-11-29T11:24:30.940 に答える
2

http://api.jquery.com/attribute-starts-with-selector/

$("img[src^=\"http://player.vimeo.com\"]").attr("src", "new_string")

また

$("img[src^=\"http://player.vimeo.com\"]").attr("src", function(i, val) {return val.replace("http://player.vimeo.com", "new url")})

リンク全体を置き換える必要があるのか​​、「 http://player ...」だけを別の文字列に置き換える必要があるのか​​ 、質問から十分に明確ではないため、両方のケースのコードを記述してください。

Markus Ekwall のコメントによると、 attr はそれぞれよりも遅いため、上記のコードを次のように置き換えることをお勧めします。

$("img[src^=\"http://player.vimeo.com\"]").each(function() {this.src = "new_string";});

また

$("img[src^=\"http://player.vimeo.com\"]").each(function() { this.src = this.src.replace("http://player.vimeo.com", "new url"); })
于 2012-11-29T11:24:50.923 に答える
1

各要素に対して afilter()を実行し、属性を一致させてsrcから、それを置き換えることができます:

$('img').filter(function() {
    return /^http:\/\/player\.vimeo\.com/.test(this.src);
}).attr('src', 'somethingelse');

個々の置換を行いたい場合は、「somethingelse」の代わりに関数を使用することもできます。

.attr('src', function(i, src) {
    return src.replace(/vimeo/,'youtube');
})
于 2012-11-29T11:23:38.577 に答える
0

id を使用して要素の href 属性にアクセスし、更新された href 文字列の URL を attr メソッドに渡します。

 <script>
    $(document).ready(function(){
    $("button").click(function(){
    $("#link").attr("href","http://www.example.com/login.html"); //pass ur new url here
  });
});
 </script>

HTML本文内:

<p><a href="http://www.example.com" id="link">Link name</a></p>
于 2012-11-29T11:41:44.140 に答える
-1

検索 URL のみを置き換えたい場合は、これを使用します。

$(function(){
    $('img').each(function(index,elem) {
        var newValue = "http://youtube.com";

        var $this = $(this);
        var strSrc = $this.attr('src');
        var regTest = /http:\/\/player\.vimeo\.com/;

        if(regTest.test(strSrc)) {
            $this.attr('src', strSrc.replace(regTest, newValue) );
        }
    });
});
于 2012-11-29T11:27:52.427 に答える