2

私の質問: 私は img タグを持っています

<img class="myclassname" src="1.jpg" name="2.jpg">

imgソース(現在1.jpg)をjqueryでname属性に書いたもの(2.jpg)に変更したいです。

なぜこれが機能しないのですか?

$(".myclassname").attr("src", $(this).attr("name"));  

助けてくれてありがとう!マフカに挨拶

(ps:もちろん、スクリプトはもっと複雑ですが、これが私が立ち往生している問題です)

4

4 に答える 4

4

$(this) はそのコンテキストでは不明であるため、そのクラス名を持つすべてのタグを反復処理する必要があります。

次のようなものを試してください:

$(".myclassname").each(function() {
    $(this).attr("src", $(this).attr("name"));
});
于 2009-09-14T14:08:05.043 に答える
2
$(".myclassname").each(function (){
$(this).attr("src",$(this).attr("name"));
});

コードの問題は、jQuery がそのコンテキストの「これ」が何であるかを認識していないことです。

于 2009-09-14T14:09:30.567 に答える
1

これが役立つことを願っています...

        $(".test").each(function() {
            $(this).attr("src", $(this).attr("name"));
            alert($(this).attr("src"));
        });
于 2009-09-14T14:08:06.510 に答える
0

myclassname への参照を変数に格納します。スクリプトも読みやすくなります:

var _myClassname = $(".myclassname");
_myClassname.attr("src", _myClassname.attr("name"));
于 2009-09-14T14:09:44.823 に答える