我的问题: 我有一个img标签
<img class="myclassname" src="1.jpg" name="2.jpg">
我想使用jquery将img源(目前为1.jpg)更改为我在“name”属性(2.jpg)中编写的内容。
为什么这不起作用?
$(".myclassname").attr("src", $(this).attr("name"));
感谢您的帮助!迎接mafka
(ps:脚本当然比较复杂,但这就是我遇到的问题)
答案 0 :(得分:4)
您需要使用该类名迭代所有标记,因为在该上下文中不知道$(this)。
尝试类似:
$(".myclassname").each(function() {
$(this).attr("src", $(this).attr("name"));
});
答案 1 :(得分:2)
$(".myclassname").each(function (){
$(this).attr("src",$(this).attr("name"));
});
您的代码存在问题,即jQuery不知道该上下文中的“this”是什么。
答案 2 :(得分:1)
我希望这会有所帮助......
$(".test").each(function() {
$(this).attr("src", $(this).attr("name"));
alert($(this).attr("src"));
});
答案 3 :(得分:0)
将对myclassname的引用存储在变量中。将使您的脚本更清晰易读:
var _myClassname = $(".myclassname");
_myClassname.attr("src", _myClassname.attr("name"));