2

我的问题:我有一个 img 标签

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

我想将 img 源(当前为 1.jpg)更改为我使用 jquery 在“名称”属性(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 不知道该上下文中的“this”是什么。

于 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 回答